课程首页 › 第3部分 › 第42课

第42课 倒立的数字

第3部分 不辞辛苦 · 循环结构· 知识点:do-while应用、回文数

倒立的数字(do-while应用、回文数)

插图

你会倒立吗?将头朝下,脚朝上就完成了倒立。但是数字倒立,你知道是怎么回事吗?

例如:数字123456789倒立成987654321。

插图

倒立的数字

插图

运行程序:

(1)do{...}while(num !=0):通过do-while循环,反复执行循环内的代码,直到num的值变成0,此时已经输出了最后一位数字。

(2)cout<<num % 10:在每次循环迭代中,程序将num的个位数字(通过num% 10取余运算得到)输出,使得从整数的最低位开始逆序输出数字。

(3)num /=10:程序通过除以10来将num的位数向右移动一位,以准备输出下一个位数。

例如,整数先相除,1234/10=123,接下来再除10求余,得到的就是3了。

回文数

掌握了如何将数字倒立,接下来就可以判断一个数字是不是回文数了。

插图
插图

运行程序:

请输入一个整数:666888666

666888666是回文数

敲黑板

通过不断÷10求余的方式取得的数字,在生成倒转的数字时,记得要不断×10。reversedNum=reversedNum*10 + remainder例如:121。

第一步

取出第一个数字1

倒转数字reversedNum=1

第二步

取出第二个数字2

倒转数字reversedNum的第一位需要通过×10向前移动,即1×10+2=12

第三步

取出第三个数字1

倒转数字reversedNum的数字需要通过×10继续向前移动,即12×10+1=121

巩固练习

(1)以下哪个选项属于回文?()

A.人人为我,我为人人

B.12345678987654321; C.Abcbca D.WorldWorld(2)阅读代码,填出程序运行结果。

插图

请输入一系列整数:

输出:_____________________________________________________________ ______

(3)编写一个C++程序,要求用户输入一组整数,直到输入0后停止输入。然后,计算并输出数字中正整数的和。

示例:

请输入正整数(输入0以结束):

总和:16