C语言中,从键盘输入一个学生成绩,用switch输出成绩和档次.(分类方法:90分及以上为"优秀",80-89分为"中等"

简单点的!!!

switch里有三种写法,第一种就是每个单独写出来如:(这种如果数据多的话不推荐,比如这题)
switch(score) {
case 90: case 91://...case 100:
//优秀。。
break;
case 80:case 81:case 82: //...case 89:
//中等。。
break;
}
第二种就是进行缩小范围,如:(这种如果数据分布很有规律就用,比如这题)
switch(score/10) {
case 10: case 9: //优秀..
break;
case 8: //中等
break;
}
第三种是函数的写法,这适用于数据分布无规律而不能进行缩小范围时,假如90~96为优秀,97~100为特优秀的话,可以这样,如:(这种适用于数据分布无规律)
int score_fun(int score)
{
if(score >= 97)
return 1;
if(score >= 90)
return 2;
if(score >= 80)
return 3;
}

//....

switch(score_fun(score)) {
case 1: //特优秀。。
break;
case 2: //优秀。。
break;
case 3: //中等。。
break;
}来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-02
#include<stdio.h>
main()
{int a ;
scanf("%d",&a);
switch(a<=100&&a>=90)
{case 1:printf("score=%d,youxiu",a);break;
case 0:switch(a<=89&&a>=80)
{case 1:printf("score=%d,zhongdeng",a);}
}}
还有个更简单的
#include<stdio.h>
main()
{int a;
scanf("%d",&a);
switch(a/10)
{case 8:printf("score=%d,zhongdeng",a);break;
case 9:case 10:printf("score=%d,youxiu",a);
}
}
亲,你不觉得我的最简单么。亲测正确,赶紧选我吧!!!!
第2个回答  2013-04-01
#include<stdio.h>
int main ()
{
int score,s;
printf("请输入学生成绩:");
scanf("%d",&score);
if(score>=90&&score<=100)
s=0;
else if(score>=80&&score<90)
s=1;
else if(score>=60&&score<80)
s=2;
else
s=3;
switch(s)
{
case 0:
printf("优秀\n");
break;
case 1:
printf("中等\n");
break;
case 2:
printf("及格\n");
break;
default:
printf("不及格\n");
}

return 0;
}
第3个回答  2013-04-01
下面的程序,刚才调过了,你可以参考参考:
#include<stdio.h>
void main()
{ float score;
char *level=" ",singal[][20]={"不及格","一般","中等","优秀"};
int i,c;
printf("Input a score between 0~100: \n");
scanf("%f",&score);
if(score>=90) c=9;
else c=(int)(score/10);
switch(c)
{ case 0: level=singal[0];break;
case 1: level=singal[0];break;
case 2: level=singal[0];break;
case 3: level=singal[0];break;
case 4: level=singal[0];break;
case 5: level=singal[0];break;
case 6: level=singal[1];break;
case 7: level=singal[1];break;
case 8: level=singal[2];break;
case 9: level=singal[3];break;
}
printf("该学生成绩档次为:%s\n",level);
}
第4个回答  2013-04-01
你试试这个,我就写两句,其他的同理!
#inlcude<stdio.h>
void main()
{
int x;

scanf("%d",&x);

switch(x)
{
case A:
printf("优秀");break;
case B:
printf("中等");break;
default:
printf("一般");

}
}