c++编程反序输出一个整数
时间: 2024-03-27 11:36:14 浏览: 62
可以使用以下代码实现反序输出一个整数:
```
#include <iostream>
using namespace std;
int main() {
int num;
cout << "请输入一个整数:";
cin >> num;
cout << "反序输出为:";
while (num > 0) {
cout << num % 10;
num /= 10;
}
cout << endl;
return 0;
}
```
该程序先提示用户输入一个整数,然后通过循环取出该整数的个位数,依次输出并将整数除以 10,直到整数变为 0,即可得到反序输出的结果。
相关问题
设N是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321),编程,输出一个满足条件的N。 输入描述:输入为一个整数n(2<=n<=9) (10分) 处理:求满足条件的N(30分) 输出描述:输出为一个四位数的整数(10分) 样式输入:9 样式输出:1089 c++
以下是C++代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 1000; i < 10000; i++) {
int r = i % 10;
int q = i / 10 % 10;
int b = i / 100 % 10;
int s = i / 1000;
int m = r * 1000 + q * 100 + b * 10 + s;
if (i * n == m) {
cout << i << endl;
break;
}
}
return 0;
}
```
思路解析:
我们从 $1000$ 到 $9999$ 枚举 $N$,对于每个 $N$,我们计算其反序数 $M$,判断是否满足 $N \times n = M$ 的条件,如果满足就输出 $N$ 并结束程序。为了计算 $M$,我们可以按照以下步骤:
- 取出 $N$ 的个位数字 $r$;
- 取出 $N$ 的十位数字 $q$;
- 取出 $N$ 的百位数字 $b$;
- 取出 $N$ 的千位数字 $s$;
- 计算 $M = r \times 1000 + q \times 100 + b \times 10 + s$。
这里需要注意的是,我们在枚举 $N$ 的时候,要从 $1000$ 开始,因为题目要求 $N$ 是四位数。另外,我们在判断是否满足条件的时候,可以直接用乘法判断 $N \times n$ 是否等于 $M$,无需将 $M$ 再转换为 $N$ 后再进行比较。
用C++写设N是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321),编程,输出一个满足条件的N。 输入描述:输入为一个整数n(2<=n<=9) (10分) 处理:求满足条件的N(30分) 输出描述:输出为一个四位数的整数(10分) 样式输入:9 样式输出:1089 的程序
以下是 C++ 的实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
cin >> n;
for(int i = 1000; i < 10000; i++) {
if(i * n == stoi(string(to_string(i).rbegin(), to_string(i).rend()))) {
cout << i << endl;
break;
}
}
return 0;
}
```
当输入为9时,输出为1089。
阅读全文