甲流疫情死亡率

GitHub跳转原题关系图返回列表

读入确诊数与死亡数,按死亡率 = 死亡数 ÷ 确诊数 × 100 的公式计算,用 %.3f 保留 3 位小数并拼上百分号输出。

OJ: roj

题目 ID: 1011

难度:入门

标签:入门数学python

创建: 2026-09-29 13:06

更新: 2026-10-04 22:30

题目描述

根据截止 2009 年 12 月 22 日各省报告的甲流确诊数和死亡数,计算甲流死亡率。输入一行两个整数:确诊数 cc、死亡数 dd(d⩽cd \leqslant c);输出一行死亡率,百分数形式,精确到小数点后 3 位。如输入 10433 60 则输出 0.575%(60÷10433×100≈0.57560 \div 10433 \times 100 \approx 0.575)。

思路

死亡率就是死亡数占确诊数的百分比:r=dc×100r = \dfrac{d}{c} \times 100,必须用浮点除法,整数除法会截断小数。用 %.3f 格式化即可完成四舍五入保留 3 位,再在末尾拼上 %。

参考代码

Python 版:

python
#!/usr/bin/env python3
# Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
# rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
# rainboy的学习导航网站: https://idx.roj.ac.cn
# create_at: 2026-07-05 21:47
# update_at: 2026-07-05 21:47

import sys


def solve() -> None:
    confirmed, died = map(int, sys.stdin.buffer.read().split())  # 确诊数、死亡数
    rate = died / confirmed * 100  # 死亡率:死亡数 ÷ 确诊数,换算成百分数
    print(f"{rate:.3f}%")


if __name__ == "__main__":
    solve()

C++ 版(同一算法):

cpp
/**
 * Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
 * rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
 * rainboy的学习导航网站: https://idx.roj.ac.cn
 * create_at: 2026-10-04 22:30
 * update_at: 2026-10-04 22:30
 */

#include <cstdio>
typedef long long ll;

ll confirmed; // 甲流确诊数
ll died;      // 甲流死亡数

int main() {
    scanf("%lld %lld", &confirmed, &died);
    // 死亡率 = 死亡数 ÷ 确诊数 × 100,按百分数保留 3 位小数输出
    double rate = died * 100.0 / confirmed;
    printf("%.3f%%\n", rate);
    return 0;
}