这道题只关注各个患者所处的年龄段,并不在意患者的具体年龄。
所以我们可以定义?
4
4 个变量 a[1],a[2],a[3],a[4],用来存储各个年龄段的人数。(类似桶排序)
在读入数据时直接判断年龄段,并将所对应的变量?
+
1
+1,就完成了对各个年龄段的人数的统计。
因为本题要保留两位小数,我选择直接使用 printf 进行输出。
#include<iostream>
#include<cstdio>
using namespace std;
int a[5],n,c;
int main()
{
?? ?cin>>n;
?? ?for(int i=1;i<=n;i++)
?? ?{
?? ??? ?cin>>c;
?? ??? ?if(c<=18) ? ? ? ?a[1]++;
?? ??? ?if(19<=c&&c<=35) a[2]++;
?? ??? ?if(36<=c&&c<=60) a[3]++;
?? ??? ?if(c>60) ? ? ? ? a[4]++;
?? ?}
?? ?printf("%.2lf%%\n",double(a[1])/n*100);//百分数要x100!
?? ?printf("%.2lf%%\n",double(a[2])/n*100);
?? ?printf("%.2lf%%\n",double(a[3])/n*100);
?? ?printf("%.2lf%%\n",double(a[4])/n*100);
?? ?//由于a[1~4]除以n时,两边都是整数,会导致直接整除,所以要进行类型转换,使其变成浮点数除法。?
??? ?return 0;
}