【题目描述】
某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18、19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。
【输入】
共2行,第一行为过往病人的数目n(0<n<=100),第二行为每个病人患病时的年龄。
【输出】
按照0-18、19-35、36-60、61以上(含61)四个年龄段输出该段患病人数占总患病人数的比例,以百分比的形式输出,精确到小数点后两位。每个年龄段占一行,共四行。
【输入样例】
10
1 11 21 31 41 51 61 71 81 91【输出样例】
20.00%
20.00%
20.00%
40.00%
【题解代码】
#include<bits/stdc++.h>
using namespace std;const int N = 1e2 + 10;
int nums[N];int main()
{int n; cin >> n;double cnt1 = 0, cnt2 = 0, cnt3 = 0, cnt4 = 0;for (int i = 1; i <= n; i++){cin >> nums[i];if (nums[i] >= 0 && nums[i] <= 18) cnt1++;else if (nums[i] >= 19 && nums[i] <= 35) cnt2++;else if (nums[i] >= 36 && nums[i] <= 60) cnt3++;else cnt4++;}printf("%.2lf%%\n%.2lf%%\n%.2lf%%\n%.2lf%%\n", cnt1 / n * 100, cnt2 / n * 100, cnt3 / n * 100, cnt4 / n * 100);return 0;
}