20200820--1维数组 年龄与疾病(奥赛一本通P78 5)
//某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18,19-35,36-60,61c以上(含61)四个年龄段统计的患病人数占总患病人数的比例。
输入:共两行,第1行为以往病人的数目n(0<n<=100),第2行为每个病人患病时的年龄。
输出:按照0-18,19-35,36-60,61c以上(含61)四个年龄段输出该段患病人数占总患病人数的比例,以百分比的形式输出,精确到小数点后两位。每个年龄段占一行,共四行。
样例输入:
10
1 11 21 31 41 51 61 71 81 91
样例输出:
20.00%
20.00%
20.00%
40.00%
#include <bits/stdc++.h>
using namespace std;
int n,a[100];
double a1,a2,a3,a4;//注意这个地方的变量不能是int,否则显示的结果前两行是0.00% ,后两行是0%
int main()
{
cout<<"几个数字? ";
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]<=18) a1++;else
if(a[i]<=35) a2++;else
if(a[i]<=60) a3++;else
if(a[i]>60) a4++;
}
printf("%.2lf%%\n",a1/n*100);
printf("%.2lf%%\n",a2/n*100);
cout<<fixed<<setprecision(2)<<a3/n*100<<"%"<<endl;
cout<<fixed<<setprecision(2)<<a4/n*100<<"%"<<endl;
}