填空题 请补充函数proc(),该函数的功能是求一维数组arr[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如,当arr[10]={5.6,9.9,9.7,55.2,7.3,9.5,12.8,7.9,16.0,16.8},结果为:avg=15.070000。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
double proc(double arr[10])
{
int i;
long t;
double avg=0.0;
double sum=0.0;
for(i=0; i<10; i++)
1;
avg=sum/10;
avg= 2;
t= 3;
avg=(double)t/100;
return avg;
}
void main()
{
double avg, arr[10]={15.6, 19.9, 16.7, 15.2, 18.3, 12.1, 15.5, 11.0, 10.0, 16.0};
int i;
system("CLS");
printf("/nThe original data is: /n");
for(i=0; i<10; i++)
printf("%6.1f", arr[i]);
printf("/n/n");
avg=proc(art);
printf("average=%f/n/n", avg);
}
【正确答案】
【答案解析】sum+=arr[i] avg*1000 (avg+5)/10[解析] 由函数proc()可知,变量sum存放一维数组中所有元素的和,因此,第一处填“sum+=arr[i]”;题目中要求对所得结果进行四舍五入(保留两位小数),因此,第二处填“avg*1000”;第三处填“(avg+5)/10”。