#includeintmain(){intinteger1,integer2;charch='A',zh='K';doublenum1,num2,num3;printf("Pleaseenterthefirstinteger:");scanf("%d",&integer1);printf("Pleaseenterthesecondinteger:");scanf("%d",&integer2);printf("num1:");scanf("%f",&num1);printf("num2:");scanf("%f",&num2);printf("num3:");scanf("%f",&num3);doubleW=num1+num2+num3;doubleAvervge=('A'+'K')/W;doubleQ=(integer1+integer2+W)/2.;printf("Avervgeis%d.\n",Avervge);printf("Qis%f.\n",Q);return0;}
2 回答
温温酱
TA贡献1752条经验 获得超4个赞
你上一个问题我已经看到了。首先我想说的是,这跟幼稚没有关系,谁都是从新手过来的。但是:先不说代码的排版,但从问题来讲,你说结果是错的,也就是不合你的预期,那你总得把你的预期告诉回答问题的人呐,否则回答问题的人怎么知道你想要什么样的结果
BIG阳
TA贡献1859条经验 获得超6个赞
C语言中在数据的问题上,很严重的就是类型自动转换的问题.把double类型的值赋给float类型的变量,那么最终得到的float类型的数据就很有问题.对于这种问题,编译期一般会警告的,对于警告最好消除掉.这是改好的代码,主要问题在:scanf那里的格式串为lf,而不是f,因为num1为double类型.#includeintmain(){intinteger1,integer2;charch='A',zh='K';doublenum1,num2,num3;printf("Pleaseenterthefirstinteger:");scanf("%d",&integer1);printf("Pleaseenterthesecondinteger:");scanf("%d",&integer2);printf("num1:");scanf("%lf",&num1);printf("num2:");scanf("%lf",&num2);printf("num3:");scanf("%lf",&num3);doubleW=num1+num2+num3;doubleAvervge=('A'+'K')/W;doubleQ=(integer1+integer2+W)/2.;printf("Avervgeis%f.\n",Avervge);printf("Qis%f.\n",Q);return0;}
添加回答
举报
0/150
提交
取消
