测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)。最后按顺序输出所有符合条件的编号,编号间用空格分隔。

上一题 下一题