B2090
hanyuchen2019 · · 题解
这道题只关注各个患者所处的年龄段,并不在意患者的具体年龄。
所以我们可以定义 a[1],a[2],a[3],a[4],用来存储各个年龄段的人数。(类似桶排序)
在读入数据时直接判断年龄段,并将所对应的变量
因为本题要保留两位小数,我选择直接使用 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;
}