1106:年龄与疾病
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 18618 通过数: 10086
【题目描述】
某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照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%
【来源】
易错点:在存放年龄阶段人数时,要考虑百分数的类型为小数(double)。
#include<cstdio> int a[120]; int main() { int x; scanf("%d",&x); double s1=0,s2=0,s3=0,s4=0;//double类型存放的年龄阶段人数 for(int i=0;i<x;++i)//输入年龄且存放 { scanf("%d",&a[i]);//输入 if(a[i]<=18) s1++; else if(a[i]<=35) s2++; else if(a[i]<=60) s3++; else if(a[i]>=61) s4++; } double f1,f2,f3,f4; f1=s1/x*100;//计算百分数 f2=s2/x*100; f3=s3/x*100; f4=s4/x*100; printf("%.2lf%%\n",f1);//输出百分数 (注意小数后两位) printf("%.2lf%%\n",f2); printf("%.2lf%%\n",f3); printf("%.2lf%%\n",f4); return 0; }