求用C语言中switch语句编写学生成绩问题
发布网友
发布时间:2022-04-19 10:54
我来回答
共3个回答
热心网友
时间:2023-07-27 05:25
#include<stdio.h>
void main()
{
double score;
printf("请输入分数:\n");
scanf("%lf",&score);
switch((int)(score/10))//switch((int)score/10)出现严重错误,switch(((int)score)/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;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:printf("E(不及格)\n");break;
default:printf("Error!\n");
}
}
例二:
#include<stdio.h>
void main()
{
char rank;
printf("请输入分数等级:(A、B、C、D、E)\n");
scanf("%c",&rank);
switch(rank)//switch((int)score/10)出现严重错误,switch(((int)score)/10)出现严重错误,
{
case 'A':printf("A(90~100)\n");break;
case 'B':printf("B(80~89)\n");break;
case 'C':printf("C(70~79)\n");break;
case 'D':printf("D(60~69)\n");break;
case 'E':printf("E(0~59)\n");break;
default:printf("error!\n");break;
}
}
热心网友
时间:2023-07-27 05:26
……scanf("%f",&a);b=(int)(a/10);switch(b){ case 9: printf("A");break; ……}主要是case后面要常量表达式,这样就必须把区间转化为单值!
热心网友
时间:2023-07-27 05:26
switch(score/10){case 9 :putchar('A');}