写一个类,能接受int 型的变量;
接收变量后能存储原变量(譬如 12345)和其反向变量(54321) ,最多处理数量为 10 个,当输入达到 10 个或者输入变量为 0 的时候停止。
并且在类销毁前输出存储的所有变量。
#include <vector>
#include <iostream>
#include <string>
using namespace std;
typedef struct inverseNumber {
int x, xInverseNumber;
inverseNumber(int x,int xInv):x(x),xInverseNumber(xInv){}
void showInverse() {
cout << x << " " <<xInverseNumber<< endl;
}
}Xinverse;
class Solution {
private:
vector<Xinverse> m_NumTable;
public:
Solution(){}
~Solution(){
showLastInverse();
m_NumTable.~vector();
}
void showLastInverse() {
for (Xinverse temp : m_NumTable) {
temp.showInverse();
}
}
void input() {
int x = 0;
cin >> x;
while (x&&m_NumTable.size()<10) {
int InverseX= getInverse(x);
Xinverse temp(x, InverseX);
m_NumTable.push_back(temp);
cin >> x;
}
}
int getInverse(int x) {
string xToInverseStr = toString(x);
int inverseInt = strToInt(xToInverseStr);
return inverseInt;
}
string toString(int x) {
string ansStr="";
while (x) {
ansStr += x % 10 + '0';
x /= 10;
}
return ansStr;
}
int strToInt(string intStr) {
int ans = intStr[0]-'0';
for (int i = 1; i < intStr.size(); i++) {
ans = ans * 10 + (intStr[i]-'0');
}
return ans;
}
};
int main()
{
Solution test;
test.input();
test.~Solution();
system("pause");
return 0;
}