输入四个数按从小到大顺序输出_公益心 码客行(4)—— 顺序结构

关于第三课的思考与实践问题,有答案了吗?

如果需要参考程序,请私信作者吧! 通过三次课的学习,我们已经可以熟练编程解决一些简单计算问题了。现在,有人提出了新的问题:生活中还有一些其他的计算。例如,求一个数的绝对值,怎么解决呢?

思考:求绝对值

如何求一个数的绝对值?C++语言实现这些计算非常简单! 求绝对值的程序如下。 #include 

#include 

using namespace std;

int main()

{

    int x,y;

    cin>>x;

    y=abs(x);

    cout<

    return 0;

}

运行这个程序,可以看到预期结果。

174f97b54e7d8d58c63942d2299a7638.png

补充知识:数学函数

先看主函数中的几条语句。
语句功能

cin>>x;

输入x

y=abs(x); 

cout<

输出y

这些语句中,只有一条对 y 进行赋值的语句,显然,该语句中的 abs(x) 的功能就是计算x的绝对值。 再看头文件。我们发现有一条新的包含语句 #include  是C++的标准数学函数库,“#include”表示该程序要引用这个库。 在数学函数库里,有很多常用的数学计算函数。它们有统一的格式:函数名、小括号,以及小括号里要计算的表达式。 例如,abs就是计算绝对值函数名,小括号里是一个要计算的表达式。其功能是求整数表达式(也可以是整数)的绝对值,结果为整数。 再如,我们经常提到的计算平方根,在C++使用sqrt函数来实现。其表达式和结果均为实数型。 标准函数的使用方法类似,不用着急现在就把它们全部掌握,以后用到时,再学习就可以了。

归纳:顺序结构

到此为此,我们编写过的程序都有一个共同特点。那就是程序是按照主函数中书写的顺序,逐一执行语句的。这种写法的程序就是顺序结构的程序。

常见的程序结构有三种。

(1)顺序结构

顺序结构是一种线性有序的结构,由一系列依次执行的语句或模块构成。

(2)选择结构

选择结构是根据条件成立与否,选择执行程序某一分支的结构。

(3)循环结构

循环结构用于实现需要重复执行的操作。

选择结构和循环结构将在后面的学习中再研究和学习。

练习:数位之和

问题描述:

对于任意输入的四位数,计算其四个数位上的数字之和。

输入格式:     一行,一个四位数 输出格式:     一行,数位之和 样例输入:     6789 样例输出:    30 分析:

对于聪明的人类,这个问题太简单了。

第一步,获得四位数

第二步,计算千位+百位+十位+个位

第三步,告知结果

可是对于计算机,就没这么一目了然了。其解决步骤就要加上几步。

第一步,输入四位数x 第二步,求千位数字a 第三步,求百位数字b 第四步,求十位数字c 第五步,求个位数字d 第六步,求和:sum=a+b+c+d 第七步,输出结果sum 虽然步数多了,也还是按顺序执行。依然是我们熟悉的顺序结构程序设计。 对于任意的四位数,如何分解出其千位、百位、十位和个位数字呢? 如果没有想法,提示大家,试着计算一下:

67%10=?67/10=?

678%10=?678/10=?678/100=?

6789%10=?6789/10=?6789/100=?6789/1000=?

如果想清楚了,我们就可以开始操作了:

 a=x/1000       求得x的千位数字

 b=x/100%10  求得x的百位数字

 c=x/10%10    求得x的十位数字

 d=x%10          求得x的个位数字

试着将自己的思路用程序描述出来。

#include using namespace std; int main() {    int x,a,b,c,d,sum;         cin>>x;             a=x/1000;    b=x/100%10;     c=x/10%10;     d=x%10;     sum=a+b+c+d;    cout<    return 0; } 运行检验一下,输入6789,输出结果正是预期的30。

5037ab561f2cbeae628d9daa0bfd53df.png

回顾与总结:你学会了吗

今天,我们学习了数学函数的使用方法,进一步研究了顺序结构程序设计的思路。

你都学会了吗?

思考与实践:计算斜边长度

问题描述: 已知直角三角形的两个直角边的边长,求斜边的长度(保留2位小数)。

输入格式:

一行,用空格分隔的两个数a,b

输出格式:

一行,斜边长度

样例输入:

3.1 4.2

样例输出:

5.22 欢迎交流代码和其他相关内容! 联系邮箱:360306901@qq.com d0e38c57fe4c6687725b78ba2f72571e.png

下面是相关视频,希望有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值