要求按照考试成绩的等级输出百分制分数段,用switch语句实现:
90-100,输出A;80-89,输出B;70-79,输出C,60-69输出D,其他情况输出F.
注意:1)switch语句中,case后面只能是整型或者字符型,所以此题中,需要90-100转成整型,i/10;
2)用两个方法:if-else语句和switch语句。
代码如下:
#include <stdio.h>
int main()
{
int d;
printf("请输入分数:");
scanf("%d",&d);
//用if else
if (d >= 90)
printf("A\n");
else if(d >=80 && d <=89)
printf("B\n");
else if(d >=70 && d <=79)
printf("C\n");
else if(d >=60 && d <=69)
printf("D\n");
else
printf("F\n");
//用switch
switch(d/10)
{
case 10:
case 9:
printf("A\n");
break;
case 8:
printf("B\n");
break;
case 7:
printf("C\n");
break;
case 6:
printf("D\n");
break;
default:
printf("F\n");
break;
}
return 0;
}
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
unsigned int score =0;
unsigned int truescore;
cout <<"輸入";
cin >> score;
// 分數超過100分或者分數小於0分
if(score>100 || score<0){
truescore=0;
}else{ //判斷分數在0~100之間
truescore=score;
}
switch(truescore/10){
case 10:case 9:
cout<<"A";
break;
case 8:
cout<<"B";
break;
case 7:
cout<<"C";
break;
case 6:
cout<<"D";
break;
default:
cout<<"F";
break;
}
return 0;
}
单switch实现 switch分支语句的case不仅可以使用具体数值,还可以使用值域`SV ... EV` https://blog.csdn.net/code_lab/article/details/119955485 ,这样也可以实现,并不一定要
if
和else
的计算方式。真香