主题:有出问题了,大哥哥大姐姐进来帮我看看
jiezhuli
[专家分:0] 发布于 2005-10-20 18:23:00
main()
{
int score ,num;
char grade;
scanf("%d,%d",&num,&score);
switch(score/10)
{
case 10:
case 9:grade='5';break;
case 8:grade='4';break;
case 7:if(score>74) {grade='4';break;}
else {grade='3';break;}
case 6:grade='3';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:grade='2';break;
}
printf("%d\n%d\n,%c",num,score,grade);
getch();
}
刚刚输进去的时候呢,是没问题的,可是当我输入 学号:1分数:150。的时候
就出问题了,
始终显示 1 -24 ,m
到底是什么地方出问题了呀!
哥哥姐姐帮我看看好吗
回复列表 (共8个回复)
沙发
Grass [专家分:140] 发布于 2005-10-20 18:42:00
150/10 等于多少,15,而你的程序中没有case 15的情况.
score 能输入的最大值是100
板凳
jiezhuli [专家分:0] 发布于 2005-10-20 19:13:00
对呀!但是后面我输入的数都小于等于100,都不行了!
3 楼
維他柠檬茶 [专家分:100] 发布于 2005-10-20 20:27:00
这里有点问题
case 7:if(score>74) {grade='4';break;}
else {grade='3';break;}
改为case 7:{if(score>74) grade='4';
else grade='3';} break;
再试下
4 楼
jiezhuli [专家分:0] 发布于 2005-10-20 21:22:00
我改了。但还是不行
还是出现
1 -24 ,m
5 楼
維他柠檬茶 [专家分:100] 发布于 2005-10-20 21:40:00
如果是scanf("%d,%d",&num,&score);则输入为1加逗号再输入100
如果系scanf("%d%d",&num,&score);则直接系1 100
所以你应该输入1,100
6 楼
shaneqi [专家分:5140] 发布于 2005-10-22 00:46:00
同一楼上的,并且修正了一下:
main()
{
int score ,num;
char grade;
scanf("%d%d",&num,&score);
while(1)
{ if(score<=100&&score>=0)
break;
else printf("input a result again:\n");
scanf("%d",&score);
}
switch(score/10)
{
case 10:
case 9:grade='5';break;
case 8:grade='4';break;
case 7:if(score>74) {grade='4';break;}
else {grade='3';break;}
case 6:grade='3';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:grade='2';break;
}
printf("%d\n%d\n,%c",num,score,grade);
getch();
}
7 楼
云中鱼12 [专家分:30] 发布于 2005-10-25 20:31:00
后面的getch()我去掉以后也可以运行,我想问一下调用这个函数的目的是做什么?
8 楼
宁静爱雪 [专家分:0] 发布于 2008-05-08 17:32:00
#include "stdio.h"
#include "string.h"
main()
{
int score ,num;
char grade;
scanf("%d,%d",&num,&score);
switch(score/10)
{
case 10:
case 9:grade='5';break;
case 8:grade='4';break;
case 7:if(score>74) {grade='4';break;}
else {grade='3';break;}
case 6:grade='3';break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:grade='2';break;
}
printf("%d\n%d\n,%c",num,score,grade);
getch();
}
我运行了下,可以用
我来回复