【C++】C++程序结构入门之顺序结构一-灵析社区

跟着小潘学后端

一、课前复习

二、如何通过程序解决问题?

2.1 导入

当我们一般遇到问题时,是如何解决的呢?是这样?

还是这样?

开个玩笑。当我们拿到一个问题时,要有一个比较清晰的认识。首先问题是什么?问题中什么是知道的,什么是不知道。我们需要怎么去编写程序得到不知道的。大体流程如下:

2.2 样例示范:

1317 - 正多边形每个内角的度数?

当我们看到这个问题时,应该如何去解决呢?

首先写好框架,C++程序设计入门一让大家熟记的代码片段。

#include<iostream>
using namespace std;
int main(){
	return 0;
}

2.2.1 分析问题

已知:正多边形的边数、正多边形内角和等于:( n-2 ) ×180( n 大于等于 3且 n 为整数)。未知:该正 n 边形每个内角的度数。

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:正多边形的边数 未知:该正n边形每个内角的度数 
	return 0;
}

2.2.2 数据计算

在分析完问题以后,就可以进行数据计算的部分。在真正的数据计算之前还需要得到数据,分别是数据定义、数据输入。

1.首先根据问题中输入和输出定义变量。

代码如下:

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:正多边形的边数 未知:该正n边形每个内角的度数 
	//二、数据定义 
	//定义一个整数n,用来存放输入的正多边形边数。
	int n; 
	//定义一个浮点数result(结果),用来存放该正 n 边形每个内角的度数。
	double result;
	return 0;
}

2.将已知输入到程序中。

代码如下:

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:正多边形的边数 未知:该正n边形每个内角的度数 
	
	//二、数据定义 
	//定义一个整数n,用来存放输入的正多边形边数。
	int n; 
	//定义一个浮点数result(结果),用来存放该正 n 边形每个内角的度数。
	double result;
	
	//三、数据输入 
	//从键盘获取正多边形的边数n 。
	cin>>n;
	return 0;
}

3.对数据进行计算。


代码如下:

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:正多边形的边数 未知:该正n边形每个内角的度数 
	
	//二、数据定义 
	//定义一个整数n,用来存放输入的正多边形边数。
	int n; 
	//定义一个浮点数result(结果),用来存放该正 n 边形每个内角的度数。
	double result;
	
	//三、数据输入 
	//从键盘获取正多边形的边数n 。
	cin>>n;
	
	//四、数据计算 
	//多边形内角和定理,正多边形内角和等于:
	//( n-2 )×180 ( n大于等于 3且 n 为整数) 
	result=(n-2)*180.0/n;

	return 0;
}

2.2.3 输出结果

将计算结果输出即可,需要注意的是程序要求保留小数点1位。

保留小数点方法一:

  1. 引入头文件 #include < iomanip>
  2. 输出格式:cout<<fixed<<setprecision(保留几位填数字几)<<输出<<endl;

代码如下:

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
	//一、分析问题,已知:正多边形的边数 未知:该正n边形每个内角的度数 
	
	//二、数据定义 
	//定义一个整数n,用来存放输入的正多边形边数。
	int n; 
	//定义一个浮点数result(结果),用来存放该正 n 边形每个内角的度数。
	double result;
	
	//三、数据输入 
	//从键盘获取正多边形的边数n 。
	cin>>n;
	
	//四、数据计算 
	//多边形内角和定理,正多边形内角和等于:
	//( n-2 )×180 ( n大于等于 3且 n 为整数) 
	result=(n-2)*180.0/n;
	
	//五、输出结果 
	cout<<fixed<<setprecision(1)<<result<<endl;

	return 0;
}

保留小数点方法二:

printf(“%.1f”,)是C语言中的格式化输出函数,用于将浮点数按照指定格式输出。其中%.1f表示输出浮点数,保留小数点后1位。在括号中填入需要输出的浮点数即可。

  1. 输出格式:printf(“%.1f”,输出);

代码如下:

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:正多边形的边数 未知:该正n边形每个内角的度数 
	
	//二、数据定义 
	//定义一个整数n,用来存放输入的正多边形边数。
	int n; 
	//定义一个浮点数result(结果),用来存放该正 n 边形每个内角的度数。
	double result;
	
	//三、数据输入 
	//从键盘获取正多边形的边数n 。
	cin>>n;
	
	//四、数据计算 
	//多边形内角和定理,正多边形内角和等于:
	//( n-2 )×180 ( n大于等于 3且 n 为整数) 
	result=(n-2)*180.0/n;
	
	//五、输出结果 
	printf("%.1f",result);
	return 0;
}

2.2.4 小结

以上就是关于1317 - 正多边形每个内角的度数?问题分析和解决过程,以及代码实现。通过这个例题我们可以明确体会到顺序结构的含义,程序从上向下依次执行。

我们可以把初始代码片段进行补充:

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:未知: 
	//二、数据定义 
	//三、数据输入 
	cin>>;
	//四、数据计算 
	//五、输出结果 
	cout<<;
	return 0;
}

三、例题讲解:已知一个圆的半径,求解该圆的面积和周长

通过刚才的样题是不是感觉学废了,来试试下面这个问题。

1005 - 已知一个圆的半径,求解该圆的面积和周长



看到问题,我们直接上代码。

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:未知: 
	//二、数据定义 
	//三、数据输入 
	cin>>;
	//四、数据计算 
	//五、输出结果 
	cout<<;
	return 0;
}

好了,进行第一步

3.1 分析问题

  1. 已知:一个圆的半径。
  2. 未知:该圆的面积和周长。
#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:一个圆的半径。未知:该圆的面积和周长。 
	
	//二、数据定义 
	
	//三、数据输入 
	cin>>;
	
	//四、数据计算 
	
	//五、输出结果 
	cout<<;
	return 0;
}

3.2 定义变量

  1. 圆的半径
  2. 圆的周长(有小数)
  3. 圆的面积(有小数)
#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:一个圆的半径。未知:该圆的面积和周长。
	 
	//二、数据定义 
	int r; 	//r 圆的半径
	double s,c; 	//s圆的面积、c圆的周长 
	
	//三、数据输入 
	cin>>;
	
	//四、数据计算 
	
	//五、输出结果 
	cout<<;
	return 0;
}

3.3 数据输入

根据已知,输入数据。

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:一个圆的半径。未知:该圆的面积和周长。 
	
	//二、数据定义 
	int r;	//r 圆的半径
	double s,c;	//s圆的面积、c圆的周长 
	
	//三、数据输入 
	cin>>r;
	
	//四、数据计算 
	
	//五、输出结果 
	cout<<;
	return 0;
}

3.4 数据计算

圆面积公式:PI * r^2
圆周长公式:2 * PI * r

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
	//一、分析问题,已知:一个圆的半径。未知:该圆的面积和周长。 
	
	//二、数据定义 
	int r;	//r 圆的半径
	double s,c;	//s圆的面积、c圆的周长 
	
	//三、数据输入 
	cin>>r;
	
	//四、数据计算 
	//圆面积公式:PI*r^2 
	s=r*r*3.1415926;
	//圆周长公式:2*PI*r 
	c=r*2*3.1415926;
	
	//五、输出结果 
	return 0;
}

3.5 输出结果

保留小数两位。

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
	//一、分析问题,已知:一个圆的半径。未知:该圆的面积和周长。 
	
	//二、数据定义 
	int r;	//r 圆的半径
	double s,c;	//s圆的面积、c圆的周长 
	
	//三、数据输入 
	cin>>r;
	
	//四、数据计算 
	//圆面积公式:PI*r^2 
	s=r*r*3.1415926;
	//圆周长公式:2*PI*r 
	c=r*2*3.1415926;
	
	//五、输出结果 
	cout<<fixed<<setprecision(2)<<s<<endl;
	cout<<fixed<<setprecision(2)<<c<<endl;
	return 0;
}

或者

#include<iostream>
using namespace std;
int main(){
	//一、分析问题,已知:一个圆的半径。未知:该圆的面积和周长。 
	
	//二、数据定义 
	int r;	//r 圆的半径
	double s,c;	//s圆的面积、c圆的周长 
	
	//三、数据输入 
	cin>>r;
	
	//四、数据计算 
	//圆面积公式:PI*r^2 
	s=r*r*3.1415926;
	//圆周长公式:2*PI*r 
	c=r*2*3.1415926;
	
	//五、输出结果 
	printf("%.2f",s);
	printf("\n");
	printf("%.2f",c);
	return 0;
}

怎么样,做出来了吗?


四、课后作业

4.1 求梯形的面积

1329 - 求梯形的面积

4.2 求圆环的面积

1338 - 求圆环的面积

4.3 求花坛的面积

1337 - 求花坛的面积

五、总结

以上就是今天要讲的内容,明天再学吧。


阅读量:1017

点赞量:0

收藏量:0