请问下面这个实例用C语言程序怎样编程

从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
请使用switch 语句实现上述功能。
(提示:将成绩整除10,把score转变为处于1~10之间的整数,从而转化成switch语句中的case标号)

#include <stdio.h>

int main() {
int score;
char grade;

printf("请输入成绩:");
scanf("%d", &score);

switch (score / 10) {
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'E';
break;
}

printf("成绩等级为:%c\n", grade);

return 0;
}

在程序中,先定义了一个整型变量 score 和一个字符型变量 grade,用来分别存储输入的成绩和计算出的等级。然后,使用 scanf 函数从键盘上读入成绩,使用除法运算将成绩转化为 1~10 的整数,并将其作为 switch 语句的选择器。根据成绩范围,使用不同的 case 标号计算出等级,并将其赋值给 grade 变量。最后,使用 printf 函数输出等级。
注意,在 switch 语句中,可以使用多个 case 标号来表示同一种情况,这样可以简化代码。例如,case 10 和 case 9 都表示成绩在 90 分以上的情况,因此可以将它们写在一起。另外,在 switch 语句中,必须使用 break 语句来结束每个 case 分支,否则程序将继续执行后面的 case 分支。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-16
#include<stdio.h>
void main()
{
float score;
char dj;
scanf("%f",&score);
switch(score/10)
{
case 10:dj='A';
case 9:dj='A';break;
case 8:dj='B';break;
case 7:dj='C';break;
case 6:dj='D';break;
case 5:dj='E';
case 4:dj='E';
case 3:dj='E';
case 2:dj='E';
case 1:dj='E';
case 0:dj='E';break;
default:dj='error';break;
}
printf("%c",dj);
}
第2个回答  2012-03-16
……
scanf("%d",&score);
if(score>100||score<0)
{
printf("输入超值!!!");
exit;
}
switch(score/10)
{
case 9:printf("等级为A");break;
case 8:printf("等级为B");break;
case 7:printf("等级为C");break;
case 6:printf("等级为D");break;
defult :printf("等级为E");
}

……追问

请问怎样键入文字“等级”?

追答

char *p="等级";

或者

char p[4+1];
scanf("%s",p);

我没实践过,但从内存角度分析因该 没有问题吧!自己试试!

本回答被提问者和网友采纳
第3个回答  2012-03-17
老题目啦
相似回答