A17118. 壮族歌圩人数统计
填空题
中等
知识点
题目描述
壮族歌圩人数统计
题目描述
壮族歌圩是热闹的民俗盛会,工作人员记录了连续 m 场歌圩的参与人数。为了分析人气变化,需要筛选出人数超过平均值的场次,并输出这些场次的编号(从 1 开始),助力歌圩活动优化安排。
输入格式
第一行输入一个整数 m(3≤m≤20),表示歌圩场次数;
第二行输入 m 个整数,依次为每场参与人数(50≤人数≤500)。
输出格式
第一行输出歌圩参与人数的平均值(保留 1 位小数);
第二行输出所有人数超过平均值的场次编号,编号之间用空格隔开。
参考答案
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int m;
cin >> m;
int arr[25];
int sum = 0;
for(int i = 0; i < m; i++) {
cin >> arr[i];
sum += arr[i];
}
double avg = sum * 1.0 / m;
cout << fixed << setprecision(1) << avg << endl;
for(int i = 0; i < m; i++) {
if(arr[i] > avg) {
cout << i + 1 << " ";
}
}
cout << endl;
return 0;
}答案解析
读取场次数m,再读取m个参与人数存入数组。计算所有人数总和并求平均值,保留1位小数输出。遍历数组,将每场人数与平均值比较,若大于平均值,则记录对应场次编号(索引加1)。最后按顺序输出所有符合条件的编号,编号间用空格分隔。
上一题
下一题