#include <stdio.h> int main() { int a[10],i; /************found************/ double aver,s; for(i=1;i<10;i++) scanf("%d",&a[i]); /************found************/ s =a[0]; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is:%.2f\n", aver); }
时间: 2023-07-18 21:42:47 浏览: 77
这段代码的作用是输入10个整数,计算它们的平均值并输出结果,其中第一个整数被默认为数组中的第一个元素。
但是代码存在一个问题:数组a的下标从1开始,而不是0。应该修改为从0开始,即:
```
for(i=0;i<10;i++) scanf("%d",&a[i]);
```
另外,变量i在计算完数组元素的个数后被自增了1,导致计算平均值时偏大了1,应该在for循环外声明并初始化为0,即:
```
int a[10],i=0;
```
修改后的代码如下:
```
#include <stdio.h>
int main() {
int a[10],i=0;
double aver,s;
for(i=0;i<10;i++) scanf("%d",&a[i]);
s = a[0];
for (i=1; i<10; i++)
s += a[i];
aver = s / 10;
printf("The aver is:%.2f\n", aver);
return 0;
}
```
阅读全文