编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
 
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

[讨论][求助]这个程序有问题吗?错在哪里?

[讨论][求助]这个程序有问题吗?错在哪里?

float average(int *a,int num)
{int i;long sum=0;
for(i=0;i<num;i++)
sum+=*(a++);
return sum/num;
}
main()
{int score[10]={1,2,3,4,5,6,7,8,9,0};
printf("%f",average(score,10));
getch();
}

TOP

把num 改成float就好了

你指的错误是不是 得出的 是4.000000 而不是4.50000000 啊??

有一天咖啡的舞者 £

TOP

虽然 printf("%f",average(score,10));
输入的是 float型,但,average()返回的是 (长)整形吧
有一天咖啡的舞者 £

TOP

把sum/num改为(float)sum/num 或1.0*sum/num

因为C语言中整数相除结果为整数。

TOP

非常感谢小小与lpanguan,我明白了!

TOP

发新话题