信息学奥赛一本通T1106:一维数组 年龄与疾病

【题目描述】某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18、19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。【输入】共2行,第一行为过往病人的数目n(0<n≤100),第二行为每个病人患病时的年龄。【输出】按照0-18、19-35、36-60、61以上(含61)四个年龄段输出该段患病人数占总患病人数的比例,以

信息学奥赛一本通T1106:年龄与疾病

【题目描述】

某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18、19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。

【输入】

共2行,第一行为过往病人的数目n(0<n≤100),第二行为每个病人患病时的年龄。

【输出】

按照0-18、19-35、36-60、61以上(含61)四个年龄段输出该段患病人数占总患病人数的比例,以百分比的形式输出,精确到小数点后两位。每个年龄段占一行,共四行。

【输入样例】

10
1 11 21 31 41 51 61 71 81 91

【输出样例】

20.00%
20.00%
20.00%
40.00%

【源程序】

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    int n,i;
    int age[100];
    double percent[4]= {0};

    cin>>n;//病人数n
    for(i=0; i<n; i++)	
        cin>>age[i]; //患病年龄

    for(i=0; i<n; i++)
    {
        if(age[i]<=18)	
            percent[0]++;//统计年龄在19岁以下的人数
        if((age[i]>=19)&&(age[i]<=35))	  
            percent[1]++;//统计年龄在19到35岁的人数
        if((age[i]>=36)&&(age[i]<=60))	  
            percent[2]++;//统计年龄在36到60岁的人数
        if(age[i]>=61)	
            percent[3]++;//统计年龄在60岁以上的人数
    }

    cout<<setiosflags(ios::fixed)<<setprecision(2);//格式输出控制,保留两位小数
    for(i=0; i<4; i++) //转换成百分数的形式输出
    {
        percent[i]=percent[i]*100.0/n;
        cout<<percent[i]<<"%"<<endl;
    }

    return 0;
}

 

信息学奥赛一本通T1106:一维数组 年龄与疾病 归属于 一维数组,更多同类题解源程序见:一维数组 和 年龄与疾病

0 条评论

请先 登录 后评论
不写代码的码农
轩爸

0 篇文章

作家榜 »

  1. admin 2 文章
  2. 张芳 0 文章
  3. hanna 0 文章
  4. Jason 0 文章
  5. lixiaioqian 0 文章
  6. GeraldWrora 0 文章
  7. 董伟 0 文章
  8. 信奥达人 0 文章