我的思路是用字符串读入再倒序输出,正、负数和0进行判断,对于数字中间的0,将其转换为其他符号
, 输出时再化成0,不知道问题在哪,求debug。
**#include<iostream>
#include<string>
using namespace std;
int main(){
string n;
cin>>n;
for(int i=0;i<n.size();i++){
if(n[i]=='0'&&n[i-1]!='0'&&n[i+1]!='0'&&i!=n.size()-1){
n[i]='&';
}
}
if(n[0]=='-'){
cout<<'-';
for(int i=n.size()-1;i>0;i--){
if(n[i]=='0'){
continue;
}
else if(n[i]=='&'){
cout<<0;
}
else{
cout<<n[i];
}
}
}
else if(n[0]=='0'){
cout<<'0'<<endl;
return 0;
}
else{
for(int i=n.size()-1;i>=0;i--){
if(n[i]=='0'){
continue;
}
else if(n[i]=='&'){
cout<<'0';
}
else{
cout<<n[i];
}
}
}
return 0;
}**