A-A+

请补充函数fun() 该函数的功能是求一维数组x[N]的平均值 并对所得结果进行四舍五入(保

2022-08-06 00:50:51 问答库 阅读 174 次

问题详情

请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如:当x[10]={15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5,11.0, 10.0, 16.0},结果为:avg=15.030000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仪在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
double fun(double x[10])
{
int i;
long t;
double avg=0.0;
double sum=0.0;
for(i=0;i<l0;i++)
【 】;
avg=sum/10;
avg=【 】;
t=【 】;
avg=(double)t/100;
return avg;
}
main()
{
double avg,x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0};
int i;
clrscr();
printf(“nThe original data is:n”);
for(i=0;i<l0;i++)
printf("%6.lf",x[i]);
printf(“nn”);
avg=fun(x);
printf(“average=%fnn”,avg);
}请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:sum+=x[i]avg*1000(avg+5)/10
sum+=x[i]avg*1000(avg+5)/10 解析:第一空:通过for循环求出10个数的累加和,存于变量sum中。第二空:为了实现四舍五入保留两位小数的功能,应将平均值先扩大1000倍。第三空:将平均值加上5,再除以10,实现四舍五入的功能。

考点:函数,平均值