在主函数中从键盘输入若干个数放人数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun的功能是:计算数组元素中所有值为正数的平均值(不包括0)。
例如,数组中元素的值依次为:39、-47、21、2、-8、15、0,则程序的运行结果为19250000。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<conio.h>
#include<scdio.h>
double fun(int x[])
/********found********/
int sum=0.0;
int c=0,i=0;
while(x[i]!=0)
if(x[i]>0)
sum+=x[i];
C++;
i++;
]
/********found********/
sum\=c;
return sum;
main()
int x[1000];
int i=0;
printf("\nPlease enter some dat a(endwith 0):");
do
scanf("%d",&x[i]);
while(x[i++]!=0);
printf("%lf\n",fun(x));
参考答案:double sum=00; (2)sum/=c;
解析:
本题关键字有:变量的数据类型;除法运算符“/”。基本数据类型如下表:
变量类型 | 类型说明符 | 字节 |
字符型 | char | 1 |
整型 | int | 2 |
短整型 | short int | 2 |
长整型 | long int | 4 |
无符号型 | unsianea | 2 |
无符号长整型 | unsigned long | 4 |
单精度实型 | float | 4 |
双精度实型 | double | 8 |
(1)变量sum存放所有正数的平均值,应定义为double型。
(2)除法运算符是“/”。