这个c语言程序有什么错误?麻烦帮我看看

来源:百度知道 编辑:UC知道 时间:2024/06/29 21:54:00
#include<stdio.h>

void main()

{
int a1=1,a2=2,a3=3,a4=4,a5=5;
float a6=1.300000,a7=2.300000,a8=3.400000,a9=2.300000,a10=2.300000;
float sum,product,avr;

sum=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10;
product=a1*a2*a3*a4*a5*a6*a7*a8*a9*a10;
avr=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10/10;

printf("和为: %f\n",sum);
printf("积为: %f\n",product);
printf("平均数为: %f\n",avr);

}
是算10个数字的和,积,平均值.和与积都正确,在VC上编译出来没错误,就是有5个警告,是float那行不对,而且运行出来平均值计算不正确,麻烦高手帮看看错在那里,警告如下:
C:\Program Files\Microsoft Visual Studio\MyProjects\demo1\do.c(7) : warning C4305: 'initializing' : truncation from 'const double ' to 'float '
float改为double后编译有一个错误3个警告...

你只需将 float 改为 double 即可。


float a6=1.300000,a7=2.300000,a8=3.400000,a9=2.300000,a10=2.300000;

改为:float a6=1.3,a7=2.3,a8=3.4,a9=2.3,a10=2.3;
应该不出现你说的那种情况!

将float 改为 double 然后将输出中的%f改为%lf。
试试吧 祝你好运,一般都用double 类型。