C语言典型例题14

//《C程序设计教程(第四版)------谭浩强》

//习题2.2 中国在2020年11月1日进行第7次全国人口普查,全国人口为1411778724人,假设年增长率为0.5%,计算到2050年有多少人口?

复制代码
//《C程序设计教程(第四版)------谭浩强》
//习题2.2 中国在2020年11月1日进行第7次全国人口普查,全国人口为1411778724人,假设年增长率为0.5%,计算到2050年有多少人口?
#include <stdio.h>
#include <math.h>
int main()
{
	double p0=1411778724;//2020年全国人口为1411778724人
	double p1;//2050年要存储的人口数
	int x;//年份差
	double a=0.005;//年增长率
	//数学公式:p1=p0(1+a)的x次方
	printf("中国在2020年11月1日进行第7次全国人口普查,全国人口为1411778724人,假设年增长率为0.5%,计算到2050年有多少人口?\n");
	x=2050-2020;
	p1=p0*pow(1+a,x);//pow是指数的意思
	printf("2050年有人口:%f",p1);
	return 0;
}

运行后的代码:

写代码过程中遇到的问题:

(1)不可以写成float类型,因为float类型的数据只能能表示7位精度,而double类型的数据可以表示15位类型的数据。

(2)C语言提供的幂函数的书写

pow(公式,指数);

要使用这个幂函数,头文件必须写上#include <math.h>,对其进行必须有的预处理

(3)得到的结果的小数部分是没有意义的,应该对他进行四舍五入

应该写成 printf("2050年有人口:%12.0f",p1);

整体修改后的代码如下:

复制代码
//《C程序设计教程(第四版)------谭浩强》
//习题2.2 中国在2020年11月1日进行第7次全国人口普查,全国人口为1411778724人,假设年增长率为0.5%,计算到2050年有多少人口?
#include <stdio.h>
#include <math.h>
int main()
{
	double p0=1411778724;//2020年全国人口为1411778724人
	double p1;//2050年要存储的人口数
	int x;//年份差
	double a=0.005;//年增长率
	//数学公式:p1=p0(1+a)的x次方
	printf("中国在2020年11月1日进行第7次全国人口普查,全国人口为1411778724人,假设年增长率为0.5%,计算到2050年有多少人口?\n");
	x=2050-2020;
	p1=p0*pow(1+a,x);//pow是指数的意思
	printf("2050年有人口:%12.0f",p1);
	return 0;
}
相关推荐
郝学胜-神的一滴12 分钟前
Python数据模型:深入解析及其对Python生态的影响
开发语言·网络·python·程序人生·性能优化
一水鉴天18 分钟前
整体设计 定稿 之26 重构和改造现有程序结构 之2 (codebuddy)
开发语言·人工智能·重构·架构
star _chen41 分钟前
C++ std::move()详解:从小白到高手
开发语言·c++
lzhdim1 小时前
C#开发者必知的100个黑科技(前50)!从主构造函数到源生成器全面掌握
开发语言·科技·c#
福尔摩斯张1 小时前
C++核心特性精讲:从C语言痛点出发,掌握现代C++编程精髓(超详细)
java·linux·c语言·数据结构·c++·驱动开发·算法
刺客xs1 小时前
Qt----事件简述
开发语言·qt
程序员-King.1 小时前
【Qt开源项目】— ModbusScope-进度规划
开发语言·qt
syt_10131 小时前
Object.defineProperty和Proxy实现拦截的区别
开发语言·前端·javascript
liu****1 小时前
Python 基础语法(二):程序流程控制
开发语言·python·python基础
charlie1145141911 小时前
如何快速在 VS2026 上使用 C++ 模块 — 完整上手指南
开发语言·c++·笔记·学习·现代c++