为了账号安全,请及时绑定邮箱和手机立即绑定

我是一个编程新手,自己编写了一个C语言程序,但是带入数字进行运算时发现结果是错误的,求解答?

我是一个编程新手,自己编写了一个C语言程序,但是带入数字进行运算时发现结果是错误的,求解答?

蝴蝶刀刀 2019-05-25 15:20:34
#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个赞

你上一个问题我已经看到了。首先我想说的是,这跟幼稚没有关系,谁都是从新手过来的。
但是:
先不说代码的排版,但从问题来讲,你说结果是错的,也就是不合你的预期,那你总得把你的预期告诉回答问题的人呐,否则回答问题的人怎么知道你想要什么样的结果
                            
查看完整回答
反对 回复 2019-05-25
?
BIG阳

TA贡献1859条经验 获得超6个赞

C语言中在数据的问题上,很严重的就是类型自动转换的问题.把double类型的值赋给float类型的变量,那么最终得到的float类型的数据就很有问题.对于这种问题,编译期一般会警告的,对于警告最好消除掉.
这是改好的代码,主要问题在:scanf那里的格式串为lf,而不是f,因为num1为double类型.
#include
intmain(){
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;
}
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 810 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号