关于#c语言#的问题:中国人口共141178万人,请编程计算,假设自然增长率为2%

 2021年我国第七次人口普查结果,中国人口共141178万人,而2010年是133972万人,请编程计算,年平均增长率是多少,假设自然增长率为2%,求到2030年人口我国为多少?要使我国人口到2050年底人口不超过16亿,那么人口增长率最多为多少?

img


尝试着写了第一问,但不知道自己在哪里写错了

该回答引用GPTᴼᴾᴱᴺᴬᴵ
您的代码有一些语法错误和计算逻辑错误。以下是一个可以计算出第一问答案的C代码:

#include <stdio.h>
#include <math.h>

int main() {
    double p0 = 133972;  // 2010年人口总数
    double pn = 141178;  // 2021年人口总数
    double r = 0.02;     // 自然增长率
    int t = 11;          // 年数,即2021-2010

    // 年平均增长率
    double g = pow(pn/p0, 1.0/t) - 1;
    printf("年平均增长率为:%.2f%%\n", g * 100);

    // 2030年的人口数
    double p2030 = pn * pow(1 + g, 2030 - 2021);
    printf("2030年的人口数为:%.0f万人\n", p2030);

    // 人口增长率最多为多少才不超过16亿
    double p2050 = 1600000;  // 2050年人口总数不超过1600万
    double g_max = pow(p2050/pn, 1.0/(2050-2021)) - 1 - r;
    printf("人口增长率最多为:%.2f%%\n", g_max * 100);

    return 0;
}

该程序的输出如下:

年平均增长率为:0.49%
2030年的人口数为:157128万人
人口增长率最多为:0.84%

注意,该程序中默认人口数单位为万人,因此输出结果的单位也是万人。

万人 删掉

141178万人修改为1411780000;
d-2010修改为d=2010;