1 条题解

  • 0
    @ 2025-8-24 21:05:44

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar hanyuchen2019
    AFO

    搬运于2025-08-24 21:05:43,当前版本为作者最后更新于2021-07-04 19:31:19,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


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

    所以我们可以定义 44 个变量 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;
    }
    
    • 1

    信息

    ID
    6947
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者