标题:C语言程序设计
只看楼主
吧啦哔哩啵
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-9-2
结帖率:100%
已结贴  问题点数:20 回复次数:6 
C语言程序设计
设2010年我国人口为13.5亿,如果人口增长率为2%,求:2025年我国人口为多少?要使我国人口到2050年底不超过16亿,那么人口增长率最多为多少?
#include<stdio.h>
void main()
{
        double a,b,c,i;
        a=1;b=13.5;i=1;
        while(i<=15)
        {
                a=a*(1+0.02);
                c=a*b;
                i=i+1;
        }
        printf("2025年我国人口为%f\n",c);
}
刚开始学C语言,这是书上的题目,第一问做出来了。第二问不知道如何下手,求大佬解答,希望可以用尽量简单的语句,刚学基础,太复杂的话看不懂
搜索更多相关主题的帖子: 多少 基础 程序设计 printf C语言 
2020-09-02 15:18
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:554
专家分:3690
注 册:2019-7-29
得分:5 
程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
    double a,b=13.5,rate=0.02;
    a=b*pow(1+rate,15);
    printf("2025年我国人口为%f\n",a);

    while(1)
    {
        a=b*pow(1+rate,40);
        if(a<16)
        {
            if(a>15.99)
                break;
            else
                rate=rate/2*3;
        }
        else
            rate/=2;
    }
    printf("人口增长率最多为%g%%\n",rate*100);

    return 0;
}

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-09-02 15:56
吧啦哔哩啵
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-9-2
得分:0 
回复 2楼 纯蓝之刃
多谢大佬
2020-09-02 17:33
咕噜鱼
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2019-4-1
得分:5 
我也试试
2020-09-03 09:16
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
程序代码:
#include <stdio.h>
#include <math.h>

int main( void )
{
    printf( "2025年我国人口为 %.1f 亿\n", 13.5*pow(1+0.02,2025-2010) );
    printf( "要使人口到2050年底不超过16亿,那么人口增长率最多为 %.1f%%\n", (pow(16/13.5,1.0/(2050-2010))-1)*100 );
}
2020-09-03 09:53
慕城丶
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2020-8-1
得分:5 
我感觉需要用到第一问的答案  
 13.5*0.02^40=20.009……(13.5乘以0.02的40次方)
#include<stdio.h>
#include<math.h>
main()
{
  int i ;
double  a=13.0,b,k;         //a是初始人口,k是2050年的人口,b是人口增长率
   k=13.0;
     b=0.009;
 do
{
        k=13.0*pow(1+b,40);
         
          b=b-0.001;
 }
 while(k>=16);
       printf("我国2050年人口为%lf亿\n",k);
        printf("要使我国人口到2050年底不超过16亿,那么人口增长率最多为%lf",b);
}



我用循环做有问题 用函数就没问题。。。望采纳
2020-09-03 14:29
fulton10
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-9-16
得分:0 
回复 5楼 rjsp
你这个复利计算公式比较难看懂,解释下5楼的计算,pow应该是幂函数吧。
第一个公式计算13.5*(1+2%)^(2025-2010)=X
第二个公式计算13.5*(1+X)^(2025-2010)=16

[此贴子已经被作者于2020-9-17 17:30编辑过]

2020-09-17 17:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503044-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.291034 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved