两个数组搞定
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cmath>
#include <vector>
using namespace std;
class reverse_num {
private:
vector<int> vec; // 存储逆序过的数
int* array; // 要逆序的数组首地址
int size; // 要逆序的数组规模
public:
reverse_num(int* a, int n) {
array = a;
size = n;
}
void Reverse() {
for (int i = 0; i < size; i++) {
int ans = 0;
int temp = array[i];
while (temp) {
ans = temp % 10 + ans * 10;
temp /= 10;
}
vec.push_back(ans);
}
}
void display() {
for (int i = 0; i < size; i++) {
printf("%d %d\n", array[i], vec[i]);
}
}
};
int main() {
int x, nums[10];
int cnt = 0;
while (cnt < 10) {
scanf("%d", &x);
if (!x) break;
nums[cnt++] = x;
}
// 计算x的逆序数
reverse_num ans(nums, cnt);
ans.Reverse();
ans.display();
return 0;
}

京公网安备 11010502036488号