字符串里一有零输出就不对,没有零就能正常反转
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
char c='f';
int wzhi,len;
cin>>s;
len=s.size();
for(int i=0;i<s.size();i++)
{
if(s[i]<'1'||s[i]>'9')
{
c=s[i];
wzhi=s.find(c);
break;
}
}
int zhans=len-1,sum=len;
if(c=='f')
{
while(s[zhans]=='0')
{
sum--;
zhans--;
}
for(int i=sum-1;i>=0;i++)
{
cout<<s[i];
}
//reverse(s.begin(),s.end());
/*for(int i=0;i<len;i++)
{
/*
if(i==0&&s[i]=='0')
{
s[i]='f';
}
}
for(int i=0;i<len;i++)
{
//if(s[i]!='f')
cout<<s[i];
}*/
return 0;
}
reverse(s.begin()+0,s.begin()+wzhi);
reverse(s.begin()+wzhi+1,s.end());
zhans=0;
while(s[zhans]=='0'&&zhans<wzhi)
{
zhans++;
}
for(int i=zhans;i<=wzhi;i++)
{
cout<<s[i];
}
zhans=len-1;
while(s[zhans]=='0'&&zhans>wzhi)
{
zhans--;
}
for(int i=wzhi+1;i<=zhans;i++)
{
cout<<s[i];
}
return 0;
}