C语言 使用switch语句,将百分制成绩转换为等级分:90以上A,80-89为B,70-79为C,60-69为D,其它为F.

如题所述

#include"stdio.h"
main()
{int a,s;
scanf("%d",&a);
s=a / 10;
switch (s)
{ case 10:printf("A");break;
case 9:printf("A");break;
case 8: printf("B");break;
case 7:printf("C");break;
case 6:printf("D");break;
default:printf("F");break;
}
getch();
}

程序中getch();为winTC编译器所必须的。如果你使用其他编译器,可以把它省去。如果你是考试用的,最好把它省去。程序已验证,是一个正确的程序。

楼上的有必要搞那么复杂吗???
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-27
#include <stdio.h>

int main(int argc, char**argv)
{
int grade; //百分制成绩
char chgrade; //字符成绩
switch((int)(grade/10))
{
case 10:
case 9: chgrade = 'A';
break;
case 8: chgrade = 'B';
break;
case 7: chgrade = 'C';
break;
case 6: chgrade = 'D';
break;
default:chgrade = 'F';
break;
}
return 0;
}
第2个回答  2010-09-26
#include "string.h"
#include "stdlib.h"
void main()
{
int i;
int a[10]
printf("请输入10个人的成绩:\n");
for(i = 0;i < 10;i++)
{
scanf("%d",a[i]);

}
for(i =0;i<10;i++){

if(a[i]>=90)
flag = 1;
else if((a[i]<=89)&&(a[i]>=80))
flag = 2;
else if((a[i]<=79)&&(a[i]>=70))
flag = 3;
else if((a[i]<=69)&&(a[i]>=60))
flag = 4;
else
flag = 5;

switch(flag)
{
case 1:
printf("A");
break;
case 2:
printf("B");
break;
case 3:
printf("C");
break;
case 4:
printf("D");
break;
case 5:
printf("F");
break;
default:
break;
}
}
}
相似回答