利用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("欢迎使用李同学所写的代码,希望能给到你一些帮助!");
}


