#include<stdio.h> int main(){ int i,n; double average,sum; int a[10]; printf("Enter n:"); scanf("%d",&n); if (n>=1&&n<=10){ for(i=0;i<=n;i++){ scanf("%d",&a[i]); } sum=0; for(i=0;i<=n;i++){ sum=sum+a[i]; } average=sum/n; printf("average=%.2f\n",average); for(i=0;i<=n;i++){ if(a[i]>average){ printf("%d",a[i]); } } printf(" \n"); }else return 0; }
时间: 2023-12-02 11:02:31 浏览: 97
这段代码的作用是让用户输入n个整数,然后计算这n个整数的平均值,并输出大于平均值的整数。
代码中首先让用户输入n,然后判断n的范围是否在1~10之间。如果不在这个范围内,则直接退出程序,否则循环接收用户输入的n个整数,并计算它们的和。
接着计算平均值,然后再循环一遍数组,输出大于平均值的整数。
需要注意的是,数组a的下标应该从0开始,而不是从1开始,因此在循环中,应该将i的初始值设为0,终止条件应该是i<n,而不是i<=n。
另外,输出大于平均值的整数时,应该在每个整数后面输出一个空格,而不是一个换行符。
下面是经过修正后的代码:
```
#include <stdio.h>
int main() {
int i, n;
double average, sum;
int a[10];
printf("Enter n:");
scanf("%d", &n);
if (n >= 1 && n <= 10) {
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
sum = 0;
for (i = 0; i < n; i++) {
sum += a[i];
}
average = sum / n;
printf("average=%.2f\n", average);
for (i = 0; i < n; i++) {
if (a[i] > average) {
printf("%d ", a[i]);
}
}
printf("\n");
} else {
return 0;
}
return 0;
}
```
阅读全文