红阁番:帮我看下这个C程序啊?谢谢大虾们了

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 05:31:02
第一个:#include<stdio.h>
main()
{
float x,t;
printf("Enter a score:");
scanf("%f",&x);
if(x<60)t=1;
else if(x<70)t=2;
else if(x<80)t=3;
else if(x<90)t=4;
else t=5;
switch(t)
{
case1:printf("No Pass\n");break;
case2:printf("D\n");break;
case3:printf("C\n");break;
case4:printf("B\n");break;
case5:printf("A\n");break;
}
getch();
}
第2个:
#include<stdio.h>
main()
{
int x,t;
scanf("%d",&x);
t=x%10;
switch(t)
{case0:
case1:
case2:
case3:
case4:
case5:printf("No Pass\n");break;
case6:printf("D\n");break;
case7:printf("C\n");break;
case8:printf("B\n");break;
case9:
case10:printf("A\n");break;}
getch();
}
原题是:编写程序,输入一个百分制成绩,转换成对应的等级制成绩输出。60分以下,输出“no pass”;60-69分,为“D”;70-79分,为“C”;80-89分,为“B”;90-100分,为“A”。(用switch语句实现)帮我看看啊,怎么会运行不出来啊?是思路出了问题么?

第一个程序做如下修改即可:
#include<stdio.h>
main()
{
float x;
int t;
printf("Enter a score:");
scanf("%f",&x);
if(x<60)t=1;
else if(x<70)t=2;
else if(x<80)t=3;
else if(x<90)t=4;
else t=5;
switch(t)
{
case 1:
printf("No Pass\n");
break;
case 2:
printf("D\n");
break;
case 3:
printf("C\n");
break;
case 4:
printf("B\n");
break;
case 5:
printf("A\n");
break;
}
//getch();
}

第二个程序改为:
#include<stdio.h>
main()
{
int x,t;
scanf("%d",&x);
t=x/10;
switch(t)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
printf("No Pass\n");
break;
case 6:
printf("D\n");
break;
case 7:
printf("C\n");
break;
case 8:
printf("B\n");
break;
case 9:
case 10:.
printf("A\n");
break;
}
//getch();
}

case后面的数字用括号括起来

恩,你有没有出错提示啊?