求看看代码哪里有问题

P1307 [NOIP2011 普及组] 数字反转

水思源 @ 2024-11-14 19:56:18

include<bits/stdc++.h>
using namespace std;
int main()
{
    string a,b;
    cin>>a;
    if(a.front()!='-'&&a.back()!='0')//”381“的情况 
    {
        reverse(a.begin(),a.end());
    }
    else if(a.front()=='-'&&a.back()!='0')//”-381“的情况 
    {
        a.erase(a.begin());
        reverse(a.begin(),a.end());
        a.insert(a.begin(),'-');
    }
    else if(a.front()!='-'&&a.back()=='0')//”380“
    {
        reverse(a.begin(),a.end());
        a.erase(a.front());
     } 
    else
    {
        a.erase(a.front());
        reverse(a.begin(),a.end());
        a.erase(a.front());
        a.insert(a.begin(),'-');

    }
    cout<<a;

    return 0;

 } 

by 2Cooper2 @ 2024-11-21 15:58:23

有点复杂可以看一下我的

#include<bits/stdc++.h>
using namespace std;
int n,s;
int main(){
    cin>>n;
    while(n) s=s*10+n%10,n/=10;
    cout<<s;
}

by coding_sealion @ 2024-11-26 17:46:40

你的要加while,因为后面有可能不止一个0


|