求助为什么WA

P1307 [NOIP2011 普及组] 数字反转

Henry_oy @ 2017-07-27 04:30:25

代码:

#include <cstdio>
int main()
{
    int n,tmp=0,res=0;
    scanf("%d", &n);
    if(n<0)
    {
        printf("-");
        n=-n;
    }
    int i=0;
    int a[10];
    for(int j=0;j<=10;j++)
    {
        a[j]=0;
    }
    do
    {
        tmp = n % 10;
        a[i]=tmp;
        i++;
        n /= 10;
    }while(n != 0);
    res=a[0]*1000000000+a[1]*100000000+a[2]*10000000+a[3]*1000000+a[4]*100000+a[5]*10000+a[6]*1000+a[7]*100+a[8]*10+a[9];
    printf("%d", res);
   // return 0;
}

结果总是0,求解


by yin5u @ 2017-07-28 17:23:33

#include <iostream>
using namespace std;
string s;
bool b=false;
int main ()
{
    cin>>s;
    if (s[0]=='-') 
    {
        cout<<s[0];
        s[0]=' ';
    } else s=" "+s;
    for (int i=s.size()-1; i>0; i--)
    {
        if (s[i]!='0') b=true;
        if (b) cout<<s[i];
    }
}
已AC

|