1106:年龄与疾病

1106:年龄与疾病


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 47372     通过数: 25284

【题目描述】

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

【输入】

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

【输出】

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

分析:输入数据后,直接遍历找出相应的人数即可。

#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include<array>
using std::array;
#include<iomanip>
using std::fixed;
using std::setprecision;

int main()
{
	int n = 0;
	cin >> n;

	array<int, 100>arr;//这里改成 int arr[100]对后面没影响

	for (int i = 0; i < n; ++i)
	{
		cin >> arr[i];
	}

	int num_0_18 = 0, num_19_35 = 0, num_36_60 = 0, num_61_ = 0;

	for (int i = 0; i < n;++i)
	{
		if (arr[i] >= 0 && arr[i] <= 18)
		{
			num_0_18++;
		}
		else if (arr[i] >= 19 && arr[i] <= 35)
		{
			num_19_35++;
		}
		else if (arr[i] >= 36 && arr[i] <= 60)
		{
			num_36_60++;
		}
		else
		{
			num_61_++;
		}
	}

	double num1 = ((double)num_0_18) / n * 100,
		num2 = ((double)num_19_35) / n * 100,
		num3 = ((double)num_36_60) / n * 100,
		num4 = ((double)num_61_) / n * 100;


	cout << fixed << setprecision(2);

	cout << num1 << "%" << endl;
	cout << num2 << "%" << endl;
	cout << num3 << "%" << endl;
	cout << num4 << "%" << endl;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值