hhh

guanyuxun 2021-08-14 16:56:02 9
#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;

}

{{ vote && vote.total.up }}

共 2 条回复

ykj12

我比你写的短

#include <bits/stdc++.h>

using namespace std;

double a, b, c, d;

int main () {
	int n;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		int x;
		cin >> x;
		if (1 <= x and x <= 18) a += (1.0 / n) * 1.0;
		else if (x <= 35) b += (1.0 / n) * 1.0;
		else if (x <= 60) c += (1.0 / n) * 1.0;
		else d += (1.0 / n) * 1.0;
	}  
	a *= 100, b *= 100, c *= 100, d *= 100;
	printf ("1-18: %.2lf\%\n", a);
	printf ("19-35: %.2lf\%\n", b);
	printf ("36-60: %.2lf\%\n", c);
	printf ("60-: %.2lf\%\n", d);
	return 0;
}
tctm136 赵泳羲

在OpenJudge上可以过,但在这里过不了?