找找谁的身高超过全家的平均身高(整数)。全家n口人,输入输出数据如下: 输入要求 第一行有一个整数n( 1 < n < 10 )。第二行是n个整数,用空格隔开。 输出要求 第一行为全家的平均身高(保留一位小数,每个数值后有空格);第二行有若干个数,为超过平均身高的人的身高值(按照输入顺序输出)。c语言
时间: 2024-03-05 14:53:33 浏览: 209
好的,下面是使用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int n, i, sum = 0, count = 0;
float avg;
scanf("%d", &n);
int *height = (int*)malloc(n * sizeof(int));
for (i = 0; i < n; i++) {
scanf("%d", &height[i]);
sum += height[i];
}
avg = (float)sum / n;
printf("%.1f ", avg);
for (i = 0; i < n; i++) {
if (height[i] > avg) {
printf("%d ", height[i]);
count++;
}
}
if (count == 0) {
printf("None");
}
printf("\n");
free(height);
return 0;
}
```
在这段代码中,我们首先使用 `scanf()` 函数读取输入的整数 `n`,然后使用动态内存分配函数 `malloc()` 分配一个长度为 `n` 的整型数组 `height`。接着,我们使用一个循环依次读入 n 个整数,并计算它们的和。然后,我们计算全家的平均身高,并输出平均身高值。接着,我们再次使用一个循环遍历整型数组 `height`,找出超过平均身高的人的身高值,并输出这些人的身高值。最后,如果没有人超过平均身高,则输出 "None"。
如果你需要在自己的代码中使用这段代码,请确保你已经理解了它的工作原理,并根据实际情况进行修改。
阅读全文