C语言中,设计一个程序,把任意个浮点数读入数组里,然后计算平均值

#include<stdio.h>intmain(void){printf("请输入任意多个数:\n");doublenumber[100000];//定义一个名为“nu... #include <stdio.h>
int main(void)
{
printf("请输入任意多个数:\n");
double number[100000];//定义一个名为“number”的数组
int i=0;
int n=0;
scanf("%lf",&number[i]);
double average=0;//定义一个变量“average”,并初始化
double sum = 0;//定义一个变量“sum”,并初始化

for(i=0;i<n;i++)
sum = sum+number[i];
average = sum / n;
printf("%lf",average);
return 0;
}

大神能不能帮看一下,哪里错了?能编译成功,但是不能运行。
展开
 我来答
xuzhouliuying
高粉答主

2017-11-24 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.4亿
展开全部

1、规定了数量n=0,不符合题目要求输入任意数量的浮点数;而且直接在对i的循环中规定i<n,n的值为0,没有变化,也是错的。

2、没有逐一读取输入数。

这个程序基本上全错了。注意:C语言通过编译,并不代表程序正确,格式有错误有时也能通过编译,如果算法错误,程序是不会替你判定的。往往会有通过编译的程序实际上全错了,例如你写的程序就是。

给出正确的程序:

#include <stdio.h>
int main(){
int i,n=0;
float num,s=0,avg,a[10000];
while(scanf("%f",&num)!=EOF)
{a[n]=num;n++;}
for(i=0;i<n;i++)
s+=a[i];
printf("avg=%f",s/n);
return 0;
}
My_Persistence
2017-11-24 · TA获得超过3466个赞
知道大有可为答主
回答量:1201
采纳率:81%
帮助的人:420万
展开全部
#include <stdio.h>
int main(void)
{
printf("请输入任意多个数:\n");
double number[100000];//定义一个名为“number”的数组
int i=0;
int n=0;  //你n初始值是0,所以下面的for循环的条件不满足,修改如下
while(1)
{
scanf("%lf",&number[i]);
if(number[i] == 0)  //如果输入0值就退出循环
break;
else
++i;
}
n=i;  //输入的个数赋值给变量n
double average=0;//定义一个变量“average”,并初始化
double sum = 0;//定义一个变量“sum”,并初始化

for(i=0;i<n;i++)
sum = sum+number[i];
average = sum / n;
printf("%lf",average);
return 0;
}

//示例运行结果如下:
F:\c_work>a.exe
请输入任意多个数:
100 200 300 400 500 0
300.000000
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式