两个数组搞定
#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; }