• 05:年龄与疾病(1.6)


    温馨提示:

    如何输出%?

    即两个%连写代表%,尝试输出printf(“%%”)

    方法1:先存储数据再处理,定义4个变量记录4个年龄段的人数,初值为0

    #include<cstdio>
    int a[110];
    int main(){
        int n;
        scanf("%d",&n);
        int temp;
        for (int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        int x=0,y=0,z=0,t=0;
        for (int i=1;i<=n;i++){
            if  (a[i]>=0&&a[i]<=18) x++;
            if  (a[i]>=19&&a[i]<=35) y++;
            if  (a[i]>=36&&a[i]<=60) z++;
            if  (a[i]>=61) t++;
        } 
        
        a[0]=x+y+z+t;//a[0]记录总人数 
        
        printf("%.2lf%%
    %.2lf%%
    %.2lf%%
    %.2lf%%
    ",double(x)/a[0]*100,double(y)/a[0]*100,double(z)/a[0]*100,double(t)/a[0]*100);// double(x)将输出结果强制转换成double,即两个%连写代表% 
        return 0;
    }
    View Code

    方法2:边读边处理,定义4个变量记录4个年龄段的人数。

    //定义4个变量记录4个年龄段的人数,边读边处理 
    #include<cstdio>
    int main(){
        int n,x=0,y=0,z=0,t=0,sum;//x,y,z,t分别记录每个年龄段的人数 
        scanf("%d",&n);
        int temp;
        for (int i=1;i<=n;i++){
            scanf("%d",&temp);
            if  (temp>=0&&temp<=18) x++;
            if  (temp>=19&&temp<=35) y++;
            if  (temp>=36&&temp<=60) z++;
            if  (temp>=61) t++;
        } 
        sum=x+y+z+t;
        printf("%.2lf%%
    %.2lf%%
    %.2lf%%
    %.2lf%%
    ",double(x)/sum*100,double(y)/sum*100,double(z)/sum*100,double(t)/sum*100);// double(x)将输出结果强制转换成double,即两个%连写代表% 
        return 0;
    }
    View Code

    方法3:定义数组记录4个年龄段的人数和总人数

    #include<cstdio>
    int a[10];
    int main(){
        int n;
        scanf("%d",&n);
        int temp;
        for (int i=1;i<=n;i++){
            scanf("%d",&temp);
            if  (temp>=0&&temp<=18) a[1]++;
            if  (temp>=19&&temp<=35) a[2]++;
            if  (temp>=36&&temp<=60) a[3]++;
            if  (temp>=61) a[4]++;
        } 
        a[0]=a[1]+a[2]+a[3]+a[4];
        printf("%.2lf%%
    %.2lf%%
    %.2lf%%
    %.2lf%%
    ",double(a[1])/a[0]*100,double(a[2])/a[0]*100,double(a[3])/a[0]*100,double(a[4])/a[0]*100);// double(x)将输出结果强制转换成double,即两个%连写代表% 
        return 0;
    }
    View Code
  • 相关阅读:
    iis 7.5应用程序池自动停止
    百度云推送
    两点经纬度之间距离计算
    集合已修改;可能无法执行枚举操作。
    【百度地图】- 学习.1
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    微信相关内容
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    php面试相关
    MySQL权限管理
  • 原文地址:https://www.cnblogs.com/ssfzmfy/p/5144058.html
Copyright © 2020-2023  润新知