两个数组搞定

#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;
}