根据要求写一串c语言代码 题目描述 找找谁的身高超过全家的平均身高(整数)。全家n口人,输入输出数据如下: 输入要求 第一行有一个整数n( 1 < n < 10 )。第二行是n个整数,用空格隔开。 输出要求 第一行为全家的平均身高(保留一位小数,每个数值后有空格);第二行有若干个数,为超过平均身高的人的身高值(按照输入顺序输出)。 输入样例 7 175 160 172 158 178 162 142 输出样例 163.9 175 172 178
时间: 2024-03-05 16:53:19 浏览: 162
以下是符合要求的C语言代码:
```c
#include <stdio.h>
int main() {
int n, i, height[10], sum = 0, cnt = 0;
float avg;
scanf("%d", &n);
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]);
cnt++;
}
}
if (cnt == 0) {
printf("0");
}
printf("\n");
return 0;
}
```
代码思路:
1. 定义一个整型数组 `height` 存储每个人的身高,一个整型变量 `sum` 存储全家所有人的身高之和,一个整型变量 `cnt` 统计超过平均身高的人数。
2. 从键盘读入一个整数 `n`,表示全家成员数量。
3. 使用循环读入每个人的身高,同时累加身高之和。
4. 计算全家的平均身高 `avg`,并输出保留一位小数的平均身高值。
5. 使用循环遍历数组,统计超过平均身高的人数,并输出超过平均身高的人的身高值。
6. 如果 `cnt` 仍为 0,说明没有人超过平均身高,输出 0。
7. 注意最后换行。
其中,计算平均身高时需要将身高之和转换为浮点数再除以人数,防止整数除法取整。
阅读全文