每个凉宫都会遇到属于她的John Smith。 收藏本站
登陆 / 注册 搜索

阅读: 7.5K   回复: 8

[# C] 求助 关于do while无法赋值

EricOrwell 「锋芒初露」 2016-11-11 14:44 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

如题,急需帮助,真是搞不懂,调试看了一下结果发现a没被赋值
运行结果看附件
代码是这样的
#include<stdio.h>
#include<math.h>
main()
{   float a=0,min=0,max=0,all=0,average=0,n=1;
printf("输入10个学生成绩\n");
scanf("%lf",&a);
min=a;
max=a;
do
{scanf("%lf",&a);
  if(a<=min) min=a;
  if(a>=max) max=a;
  all=all+a;
}
while(++n<=9);
average=all/10;
printf("最大值:%lf\n最小值:%lf\n平均值:%lf\n",max,min,average);
}


题目是求最大最小,这不是关键。百度过了,大一新生没办法了。。。。谢谢各位大佬


求助 关于do while无法赋值 5GDZT8N)WYUM1B{L{6{WS03.png


剑已凌乱 「龙战于野」 2016-11-11 15:15 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

%lf不是double的么?
剑已凌乱 「龙战于野」 2016-11-11 15:23 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

输出double,float应该都是%f,百度一下,我不太记得了
我不是黑客 「初入古黑」 2016-11-14 13:44 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

#include<stdio.h>
int main( )
{
int  a,max,min,i;
float sum=0,ave=0;
printf("请输入学生的成绩:");
scanf("%d",&a);
min=max=a;
for(i=0;i<10;i++)
{
scanf("%d",&a);
if(a>max) max=a;
if(a<min) min=a;
sum+=a;
}
ave=sum/10;
printf("最大值:%d\n,最小值:%d\n,平均值:%f\n",max,min,ave);
}
我不是黑客 「初入古黑」 2016-11-14 13:44 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

我也是大一的。。学c++的
Yoki 「初入古黑」 2016-11-16 22:04 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

问题在于你定义变量时a等都是float型,但是在scanf格式化输入时表示的是double型格式来输入变量得值,这里就很隐蔽的产生了一次将double型转为float型的强转,这个问题就涉及到不同类型在计算机中存储的格式啦...总之就是要避免这样强转, 会发生一些不可预见的问题。所以你把类型统一下就好啦~
巴黎环抱的花海 「龙战于野」 2017-9-10 09:33 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

千年等一回的好帖
凉冬空巷 「龙战于野」 2018-5-6 21:59 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

学海无涯,回头是岸!
夏雨初晴 「出类拔萃」 2018-5-7 08:01 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

本来我已决定不会再回任何帖子了,当我览遍无数烂贴、痛恨生不逢时,行走在思想的戈壁荒原、穷山恶水之间,感到前途渺茫、万念俱灰之际,却突然看到这样一篇绝世好贴!我真是热泪纵横、感激涕零告诉自己如此经典之贴是一定要回的!这正是千百年来版友翘首以待的好贴啊!
您需要登录后才可以回帖 登录 | 注册账号  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2020-9-22 19:31 , Processed in 0.032567 second(s), 20 queries , Redis On.

© 2015-2020 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表