写一个类,能接受 int 型的变量,接收变量后能存储原变量(譬如 12345)和其反向变量
(54321),最多处理数量为 10 个,当输入达到 10 个或者输入变量为 0 的时候停止。并且在
类销毁前输出存储的所有变量。
例如:输入:12345,2234,0
输出:12345 54321
2234 4322
本题思路从两个类,能接受和存储int变量,可以推出编写一个类,存储两个vector类型的元素,但是由于元素是private,取出元素不方便,因此我们建立一个结构体来存储这两个原始int和反转后的int。
看其他人写的博客感觉太乱,因此自己整理一下思路
#include<iostream>
#include<vector>
using namespace std;
struct stru{
vector<int> a;
vector<int> b;
};//存储原始int与反转后的
class INT{
private:
stru elem;
public:
void pusha(int x){
elem.a.push_back(x);
}
void pushb(int x){
elem.b.push_back(x);
}
int reverse(int x){
int y=0;
while(x>0){
y=y*10+x%10;
x=x/10;
}
return y;
}
stru get(){
return elem;
}
};
int main(){
int temp;
INT s;
int count=0;
stru elem;
vector<int>::iterator t1,t2;
while(cin>>temp){
if(temp==0||count>=10)
break;
s.pusha(temp);
s.pushb(s.reverse(temp));
count++;
}
elem=s.get();
for(t1=elem.a.begin(),t2=elem.b.begin();t1!=elem.a.end(),t2!=elem.b.end();t1++,t2++){
cout<<*t1<<" "<<*t2<<endl;
}
}