C语言求数组平均值

#include<stdio.h>voidmain(){inta[6],i,sum;floataverage=0.0;sum=0;printf("input6datas\... #include <stdio.h>
void main()
{
int a[6],i,sum;
float average=0.0;
sum=0;
printf("input 6 datas\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);

for(i=0;i<6;i++)
sum=sum+a[i];
average=sum/6.0;
printf("average=%d\n",average);

}编译结果错了,请指出哪里错了,另外想问一下虽然WARNING没事,但是还是问一下有什么好的方法不好出现conversion from 'double ' to 'float ', possible loss of data
展开
 我来答
单晚竹刚雁
2019-03-26 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.2万
采纳率:29%
帮助的人:921万
展开全部
1、c=sum/10;
错了。不是4个数求平均值吗?应该c=sum/4;
2、printf("c
is%d");里面没有输出表列。应该printf("c
is%d",c);
3、如果不能整除,平均值c,和变量sum变量应该是实数型,float
c,sum;因为10/4=2,所以sum/4中的sum变量最好也是实数型。
星月小木木
2016-01-13 · TA获得超过3.2万个赞
知道大有可为答主
回答量:2.4万
采纳率:0%
帮助的人:9328万
展开全部
以函数方式实现一维数组平均值计算,并以返回值方式返回主调函数。 代码如下:
float aver(int *a, int l)//计算整型数组a,前l个元素的平均值。
{
float r = 0;
int i;
for(i = 0; i < l; i ++)
r += a[i];//累加。
r/=l;//平均值
return r;//返回结果。
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人在江湖free
推荐于2018-02-19
知道答主
回答量:16
采纳率:0%
帮助的人:15.8万
展开全部
#include <stdio.h>
void main()
{
int a[6],i;
float average=0.0;
float sum=0.0;

printf("input 6 datas\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);

for(i=0;i<6;i++)
sum=sum+a[i];
average=sum/6;
printf("average=%f\n",average);
}//你的返回值错了,至于conversion from 'double ' to 'float ', possible loss of data,上面sum可以定义成float型,后面average=sum/6;而不是6.0,因为sum的类型是float.
追问
为什么是6,而不是6.0.visual运行是按照6,  6.0有警告
追答
因为数组的定义里面a[6],是整数,方括号里面(数组的下标)只能是整数和整形表达式。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lqs随风
2011-10-05 · 超过17用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:44.7万
展开全部
改为这样子就可以了:
#include <stdio.h>
void main()
{
int a[6],i;
float sum;
float average=0.0;
sum=0;
printf("input 6 datas");
for(i=0;i<6;i++)
scanf("%d",&a[i]);

for(i=0;i<6;i++)
{
sum=sum+a[i];
}
average=sum/6.0;
printf("average=%f\n",average);//你这句语句那个输出average的格式改为f%

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
这些lc
2011-10-07 · 超过17用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:45.7万
展开全部
#include <stdio.h>
void main()
{
int a[6],i,sum;
double average=0.0;//把这里定义double类型
sum=0;
printf("input 6 datas\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);

for(i=0;i<6;i++)
sum=sum+a[i];
average=sum/6.0;
printf("average=%lf\n",average);//把这里的%d改为%lf,就OK了,祝你学习进步!
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式