永发信息网

这个程序错在哪里

答案:2  悬赏:10  手机版
解决时间 2021-04-28 06:04
  • 提问者网友:星軌
  • 2021-04-28 00:32
#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);

 }

}    

最佳答案
  • 五星知识达人网友:独行浪子会拥风
  • 2021-04-28 00:52

scanf("%d",&g);   改為 scanf("%f",&g);


(int)s=g/10;  改為: s=((float)g)/10;

全部回答
  • 1楼网友:不想翻身的咸鱼
  • 2021-04-28 01:14

你出现的错误应该是之前你给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);

 }

}    

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯