填空题
1. 请补充函数proc(),该函数的功能是:求一维数组arr[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如,当art[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++)
______;
avg=sum/10;
avg=______;
t=______;
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(arr);
printf("average=%f\n\n",avg);
}
【正确答案】
1、sum+=arr[i]
avg*1000
(avg+5)/10
【答案解析】 由函数proc()可知,变量sum存放一维数组中所有元素的和,因此,空一处填“sum+=arr[i]”;题目中要求对所得结果进行四舍五入(保留两位小数),因此,空二处填“avg*1000”,空三处填“(avg+5)/10”。