利用C语言判断输入数据所在等级(同时含有if语句与switch语句)
题目:
输入学生的百分制成绩(0~100的整数),输出对应的成绩等级(A~E)。
对应规则如下:
[90,100]:等级 A
[80,90):等级 B
[70,80):等级 C
[60,70):等级 D
[0,60):等级 E
具体要求:
(1)输入,输出要有提示信息,输入成绩后要检查数据的结合性,如果输入的成绩不是0~100的数,则输出“输入错误!”。程序运行结果示例如下:
请输入百分制成绩:86
成绩等级: B
(2)分别使用嵌套的if语句和switch语句实现多分支选择
(3)分别输入109,59,60,70,80,90,100和其他整数,对程序进行测试。
Tip:
注意定义变量使用的语句(int,double,float等)
#define _CRT_SECURE_NO_WARNINGS 1与scanf_s可以二选一在这里面
代码如下:
先用if语句根据用户输入的数据,进行判断输入对应的数字,再根据数字对应输出成绩等级其实本人认为,这个题可以用if语句直接解决,有效的节省空间,但是不知道怎么了,在写代码的时候想if语句和switch语句一起使用,就用了现在的结果,还应该有最优解,欢迎斧正!
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> main() { int k, j; k = 0; printf("请输入百分制成绩:"); scanf_s("%d", &j); if (j <= 100 && j >= 90) { k = 1; } else if (j < 90 && j >= 80) { k = 2; } else if (j < 80 && j >= 70) { k = 3; } else if (j < 70 && j >= 60) { k = 4; } else if (j < 60 && j >= 0) { k = 5; } else { printf(" 输入错误! "); } switch (k) { case 1:printf(" 成绩等级:A "); break; case 2:printf(" 成绩等级:B "); break; case 3:printf(" 成绩等级:C "); break; case 4:printf(" 成绩等级:D "); break; case 5:printf(" 成绩等级:E "); break; } printf("欢迎使用李同学所写的代码,希望能给到你一些帮助!"); }