🎯 趣谈回文数

课后小测 · 共8题

趣味C++课后练习
⚠️ 本次练习已提交,答案已锁定。如需重新练习请联系老师。
🎉 答题完成!
0
第1题 单选题 回文数概念
以下哪个数字是回文数?
正确答案:B
121从左往右读是121,从右往左读也是121,正反读完全一样,所以是回文数。123反读是321,1234反读是4321,100反读是001(即1),都不是回文数。
第2题 单选题 取余运算
在数字翻转算法中,n % 10 的作用是什么?
正确答案:B
% 是取余运算符,n % 10 得到n除以10的余数,也就是n的最后一位数字。例如123 % 10 = 3(最后一位是3)。去掉最后一位用的是 n / 10(整除)。
第3题 单选题 综合应用
bool 类型的变量可以存储什么值?
正确答案:C
bool类型是布尔类型,只有两个值:true(真)和 false(假)。bool类型通常用于表示"是"或"不是"的判断结果,在if条件判断中经常用到。
第4题 单选题(中) 回文数概念
判断回文数时,为什么要用变量 m 保存原数 n?
正确答案:B
这是回文数判断中最容易出错的地方!在while循环中,n = n / 10 会不断去掉n的最后一位,循环结束后n变成了0。如果直接用sum == n比较,就会变成sum == 0,所有数都会判断为非回文数。所以必须在循环前用m = n保存原数,循环结束后用sum == m比较。
第5题 单选题(难) 循环结构
for(int i = a; i <= b; i++) 这个循环一共执行多少次?(假设a=1, b=100)
正确答案:B
for循环从i=a开始,到i<=b结束,每次i增加1。当a=1, b=100时,i从1到100,一共执行100次。公式是:执行次数 = b - a + 1 = 100 - 1 + 1 = 100次。注意条件是 i <= b(包含b),如果是 i < b 就只有99次了。
第6题 判断题 回文数概念
回文数从前往后读和从后往前读完全一样。
正确答案:✅ 正确
这正是回文数的定义!一个正整数,如果从左向右读和从右向左读都是一样的,就是回文数。例如121、1001、12321都是回文数。
第7题 判断题(中) 取余运算
数字翻转时,sum = sum * 10 + n % 10 中的 *10 是为了让之前已经翻转的数字左移一位(升高一位)。
正确答案:✅ 正确
正确!sum * 10 的作用是把之前已经翻转好的数字"左移一位"(升高一位),腾出个位来放新取出来的最后一位。例如sum=3,乘以10变成30,然后加上n%10=2,得到32。这样3就从个位升到了十位,新的2放在了个位,完成翻转。
第8题 判断题(难) 回文数概念
一位数(1-9)不是回文数。
正确答案:❌ 错误
一位数(1-9)都是回文数!因为一位数只有一位数字,从左往右读和从右往左读都是它本身,完全一样。例如5,正读是5,反读也是5,所以5是回文数。在1-100范围内,一位数1-9加上两位数的11,22,...,99,一共18个回文数。