1011:甲流疫情死亡率
时间限制: 1000 ms 内存限制: 65536 KB
1
【题目描述】
甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。
【输入】
输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。
【输出】
输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。
【输入样例】
10433 60
【输出样例】
0.575%
说明:
主要考查怎么把数学问题应用在编程上。
1
思路分析:
可以说,这算是一个数学百分比问题,主要求【死亡数】占【确诊数】的百分比。
可以理解为【确诊数】是总数,而【死亡数】是总数中的一部分。那么:
【死亡率】=【死亡数】÷【确诊数】
如何转为百分数?我们知道
1÷100=0.01,也表示1占了100的0.01,也就是1%。
其实就是把0.01×100,再加上一个百分号%,就等于1%,所以0.01=1%
同理50÷100=0.5,也等于50%
那么,在写代码时,把结果乘以100,再加一个百分号%即可。
注意:C/C++是没有百分数的写法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
求解过程:
声明2变量a和b。
输入变量值给a和b。
根据要求输出它们的结果。
1
2
3
4
5
重点:
本题的难点是百分号的用法。
1
参考代码 - C++:
代码说明:
100.0*b/a,因为b和a都是整数,如果直接相除其结果也是整数,除了强制类型转换为double类型外,还可以把整数100变为浮点数100.0,这样其结果也是浮点数。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << fixed << setprecision(3);
cout << 100.0 * b / a << '%';
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
参考代码 - C语言:
代码说明:
C语言printf函数输出百分号的方法是写两个%
1
2
3
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%.3f%%", 100.0 * b / a);
return 0;
}