利用C语言循环从键盘上输入n个整数,编写程序按降序对其排列并输出,最后统计其中大于平均值的数的个数。有注释
时间: 2024-02-06 21:12:21 浏览: 76
C语言实验-有3个整数a,b,c,由键盘输入,编写程序输出其中绝对值最大(或最小)的数。
5星 · 资源好评率100%
好的,我可以帮你解决这个问题。以下是代码及注释:
```c
#include <stdio.h>
int main() {
int n, i, j, temp, sum = 0;
float avg;
printf("请输入整数的个数:");
scanf("%d", &n);
int a[n]; // 定义数组,长度为n
// 输入n个整数
for (i = 0; i < n; i++) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &a[i]);
sum += a[i]; // 累加求和
}
avg = sum / (float)n; // 计算平均值
// 冒泡排序,按降序排列
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
printf("按降序排列后的结果为:");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
if (a[i] > avg) {
sum++; // 统计大于平均值的数的个数
}
}
printf("\n大于平均值的数的个数为:%d\n", sum);
return 0;
}
```
这个程序首先会让用户输入整数的个数,然后通过循环从键盘上输入n个整数,并累加求和。接着计算出平均值,然后使用冒泡排序算法按降序排列输入的整数,最后输出结果并统计大于平均值的数的个数。
阅读全文