c入10个大于等于0整数,计算他们的平均值,输出大于平均值的数,如果没有输出“No”。 输入描述 10个数 输出描述 n行大于平均值的数C语言
时间: 2024-11-13 16:24:15 浏览: 8
键盘上接受三个数,选出大于平均数的数据显示出来
在C语言中,你可以通过以下几个步骤来实现这个功能:
1. 定义一个数组`int arr[10]`来存储10个整数。
2. 使用循环读取用户输入的10个数字,并确保它们都大于等于0,如果输入错误,可以提示用户重新输入。
3. 计算这10个数的总和并除以10得到平均值,使用`double`类型来避免整数溢出。
4. 然后遍历数组,判断每个元素是否大于平均值,如果是则打印出来。
5. 如果整个数组都没有找到比平均值大的数,则输出"No"。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#define SIZE 10
void average_and_output(int arr[], double avg) {
for (int i = 0; i < SIZE; ++i) {
if (arr[i] > avg) {
printf("%d\n", arr[i]);
}
}
}
int main() {
int arr[SIZE];
double total = 0;
double avg;
// 输入10个数
for (int i = 0; i < SIZE; ++i) {
while (1) { // 无限循环等待非负数输入
printf("请输入第 %d 个数(>=0): ", i + 1);
scanf("%d", &arr[i]);
if (arr[i] >= 0) {
break;
} else {
printf("输入错误,请输入非负数。\n");
}
}
total += arr[i];
}
avg = total / SIZE;
// 输出大于平均值的数
average_and_output(arr, avg);
// 没有大于平均值的数时输出"No"
if (average_and_output(arr, avg) == 0) {
printf("No\n");
}
return 0;
}
```
阅读全文