B2090 年龄与疾病 题解

这道题只关注各个患者所处的年龄段,并不在意患者的具体年龄。

所以我们可以定义 
4
4 个变量 a[1],a[2],a[3],a[4],用来存储各个年龄段的人数。(类似桶排序)

在读入数据时直接判断年龄段,并将所对应的变量 
+
1
+1,就完成了对各个年龄段的人数的统计。

因为本题要保留两位小数,我选择直接使用 printf 进行输出。

#include
#include
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;
}

你可能感兴趣的:(算法,c++,数据结构)