C++ 找出身高超过全家平均身高的人 - 代码解析
#include
using namespace std;
int main() { int n; cin >> n;
vector<int> heights(n);
int sum = 0;
for (int i = 0; i < n; i++) {
cin >> heights[i];
sum += heights[i];
}
float average = static_cast<float>(sum) / n;
cout << "AVE=" << fixed << setprecision(1) << average << endl;
for (int i = 0; i < n; i++) {
if (heights[i] > average) {
cout << i + 1 << ":" << heights[i] << " ";
}
}
return 0;
}
代码解析
- 输入全家成员身高:
- 使用
cin >> n输入全家成员人数n。 - 使用
vector<int> heights(n)创建一个大小为n的向量heights,用于存储每个成员的身高。 - 使用循环
for (int i = 0; i < n; i++)输入每个成员的身高,并累加到sum中。
- 使用
- 计算平均身高:
- 使用
float average = static_cast<float>(sum) / n计算平均身高,并将其保存在average中。 - 使用
cout << "AVE=" << fixed << setprecision(1) << average << endl输出平均身高,保留一位小数。
- 使用
- 输出超过平均身高的人:
- 使用循环
for (int i = 0; i < n; i++)遍历所有成员身高。 - 使用
if (heights[i] > average)判断每个成员身高是否大于平均身高。 - 如果大于平均身高,则输出成员序号
i + 1和身高heights[i]。
- 使用循环
示例
输入:
7
175 160 172 158 178 162 142
输出:
AVE=163.9
1:175 3:172 5:178
原文地址: https://www.cveoy.top/t/topic/qjBS 著作权归作者所有。请勿转载和采集!