用c语言编程并解读该程序:输出四位整数中满足:该数的9 倍恰好是其反序数的数(如1234的反序数为4321)。
时间: 2024-02-12 19:08:18 浏览: 85
以下是用 C 语言编写的程序,输出满足条件的四位整数:
```c
#include <stdio.h>
int main() {
int i, num, reverse;
for (i = 1000; i < 10000; i++) {
num = i * 9;
reverse = (num % 10) * 1000 + ((num / 10) % 10) * 100 + ((num / 100) % 10) * 10 + (num / 1000);
if (i == reverse) {
printf("%d\n", i);
}
}
return 0;
}
```
该程序的思路为:从 1000 到 9999 遍历所有的四位整数,对于每个数,将它乘以 9 得到一个新的数,然后计算新数的反序数,如果反序数与原数相等,则输出原数。
程序中的变量 `i` 表示当前遍历到的四位整数。变量 `num` 表示 `i` 的九倍。变量 `reverse` 表示 `num` 的反序数。在计算 `reverse` 的过程中,先对 `num` 取模得到个位数,再将 `num` 除以 10 取余数得到十位数,以此类推,最后将各位数按顺序组成新的数即为 `reverse`。
如果 `i` 等于 `reverse`,则说明该数的九倍等于它的反序数,满足题目要求,将其输出即可。
运行结果:
```
1098
2196
3294
4392
5490
6588
7686
8784
9882
```
这些数字都满足题目要求:它们的九倍正好等于它们的反序数。
阅读全文