#include"stdio.h"
main()
{
float g,s;
char ch;
printf("input a student grade:\n");
scanf("%d",&g);
(int)s=g/10;
if((int)s<=0||(int)s>10)
printf("\ninput error!");
else
{ switch ((int)s)
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;
case 7: ch='C'; break;
case 6: ch='D'; break;
default: ch='E'; break;
}
printf("\nthe student scort:%c",ch);
}
}
scanf("%d",&g); 改為 scanf("%f",&g);
(int)s=g/10; 改為: s=((float)g)/10;
你出现的错误应该是之前你给s定义的是float型的,但是你在后面又将s改成int型的,这样是错误的。还有程序开头的时候你必须将主程序定义成int,或是void型,所以要在main前面加void。我给你将程序改了下,现在程序是正确的,如下:
#include"stdio.h"
void main()
{
float g;
int s;
char ch;
printf("input a student grade:\n");
scanf("%d",&g);
s=(int)g/10;
if((int)s<=0||(int)s>10)
printf("\ninput error!");
else
{ switch ((int)s)
{ case 10:
case 9: ch='A'; break;
case 8: ch='B'; break;
case 7: ch='C'; break;
case 6: ch='D'; break;
default: ch='E'; break;
}
printf("\nthe student scort:%c",ch);
}
}
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息