c语言 大佬们 给找找错误
百分制成绩转换为五级计分制时,90分以上为A,80~89分为B,70~79分为C,60~69分为D,0~59分为E。(建议使用switch语句完成)输入格式:测试有多组,...
百分制成绩转换为五级计分制时,90分以上为A,80~89分为B,70~79分为C,60~69分为D,0~59分为E。(建议使用switch语句完成)
输入格式:
测试有多组,每组输入1个整数score。处理到输入结束。
输出格式:
逐行输出百分制成绩score对应的字符等级。若score非法,输出"error!"
输入样例:
在这里给出一组输入。例如:
1
61
102
输出样例:
在这里给出相应的输出。例如:
E
D
error!
#include<stdio.h>
#include<stdlib.h>
int main()
{
int score;
scanf("%d",&score);
if(score<0||score>100)
{
printf("error!");
}
else
{
int cj;
cj=score/10;
switch(cj)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf("E");break;
case 6:printf("D");break;
case 7:printf("C");break;
case 8:printf("B");break;
case 9:
case 10:printf("A");break;
}
}
return 0;
} 展开
输入格式:
测试有多组,每组输入1个整数score。处理到输入结束。
输出格式:
逐行输出百分制成绩score对应的字符等级。若score非法,输出"error!"
输入样例:
在这里给出一组输入。例如:
1
61
102
输出样例:
在这里给出相应的输出。例如:
E
D
error!
#include<stdio.h>
#include<stdlib.h>
int main()
{
int score;
scanf("%d",&score);
if(score<0||score>100)
{
printf("error!");
}
else
{
int cj;
cj=score/10;
switch(cj)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf("E");break;
case 6:printf("D");break;
case 7:printf("C");break;
case 8:printf("B");break;
case 9:
case 10:printf("A");break;
}
}
return 0;
} 展开
1个回答
展开全部
基本正确,就是没有按题目要求的“测试有多组,每组输入1个整数score。处理到输入结束。”,你的程序只能处理一组数据,就退出了。另外,0~59列的太繁琐了,实际上可以用一个简单的default来解决。
#include <stdio.h>
int main()
{
int score;
//scanf("%d",&score);//取消此句
while(1)//添加此行
{//添加大括号
scanf("%d",&score);//移至此处
if(score<0||score>100)
//{//大括号可省略
printf("error!\n");//增加换行
//}//大括号可省略
else
//{//大括号可省略
//int cj;//没必要另外再定义变量
//cj=score/10;//没必要另外再定义变量
switch(score/10)//cj改为score/10
{
//case 0:
//case 1:
//case 2:
//case 3:
//case 4:
//case 5:printf("E");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;//增加换行
default:printf("E\n");//59及以下的用一条语句即可
}
//}//大括号可省略
}//添加大括号
return 0;
}
修改后的程序:
#include <stdio.h>
int main()
{
int score;
while(1){
scanf("%d",&score);
if(score<0||score>100)
printf("error!\n");
else switch(score/10){
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;
default:printf("E\n");
}
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询