题目描述
某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照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
样例输出
2 20.00%
2 20.00%
2 20.00%
4 40.00%
分析
只需循环判断,再输出
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){int n,a[101],s[4]={0};cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){if(a[i]>=0&&a[i]<=18){s[1]++;}if(a[i]>=19&&a[i]<=35){s[2]++;}if(a[i]>=36&&a[i]<=60){s[3]++;}}s[4]=n-s[1]-s[2]-s[3];cout<<s[1]<<" ";printf("%.2lf",s[1]*1.0/n*100);cout<<"%"<<endl;cout<<s[2]<<" ";printf("%.2lf",s[2]*1.0/n*100);cout<<"%"<<endl;cout<<s[3]<<" ";printf("%.2lf",s[3]*1.0/n*100);cout<<"%"<<endl;cout<<s[4]<<" ";printf("%.2lf",s[4]*1.0/n*100);cout<<"%";return 0;
}
或者,呃...
这样作:
都是可以的