您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 结果为什么会这样?

结果为什么会这样?

来源:网络整理     时间:2016/6/23 22:13:57     关键词:

关于网友提出的“ 结果为什么会这样?”问题疑问,本网通过在网上对“ 结果为什么会这样?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 结果为什么会这样?
描述:

GCC


#include 
float max,min;
float average(float array[],int n){
int i;float aver,sum=array[0];
max=min=array[0];
for (i=1;i<>
if(array[i]>max) max=array[i];
if(array[i]<>
sum=sum+array[i];
}
aver=sum/n;
return(aver);
}
 
int main()
{
float score[10], ave;
int i;
for(i=0;i<10;i++)
scanf("%lf",&score[i]);
ave=average(score,10);
printf("max==%lf\nminx=%lf\naverage=%lf\n",max,min,average);
}
gcc编译结果:
100 88 99 67.5 76 89 96 82 75 91
max==0.000000
minx=0.000000
average=0.000000

解决方案1:

float型的应该用scanf("%f",&score[i]);
double型的才是"%lf"

引用 楼主 u011603569 的回复:
#include 
float max,min;
float average(float array[],int n){
int i;float aver,sum=array[0];
max=min=array[0];
for (i=1;i<>
if(array[i]>max) max=array[i];
if(array[i]<>
sum=sum+array[i];
}
aver=sum/n;
return(aver);
}
 
int main()
{
float score[10], ave;
int i;
for(i=0;i<10;i++)
scanf("%lf",&score[i]);
ave=average(score,10);
printf("max==%lf\nminx=%lf\naverage=%lf\n",max,min,average);
}
gcc编译结果:
100 88 99 67.5 76 89 96 82 75 91
max==0.000000
minx=0.000000
average=0.000000

以上介绍了“ 结果为什么会这样?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2016147.html

上一篇多线程的问题 下一篇sqlite3加密

相关图片

相关文章