求助大佬,输出没问题啊就是不过

P1307 [NOIP2011 普及组] 数字反转

pld_pd @ 2021-02-21 12:07:32

#include<bits/stdc++.h>
using namespace std;
char a[101];
int b1;
int main()
{
    int s=0;    
    gets(a);
    if(a[0]=='-') s=1;
    if(s==0)                     
    {
        b1=strlen(a)-1;
        while(a[b1]=='0')
        {
            b1--;
        }
        if(b1>=0)
        for(b1;b1>=0;b1--)
            cout<<a[b1];
        else cout<<"0";
    }
    else if(s==1)
    {
        cout<<a[0];
        b1=strlen(a)-2;
        while(a[b1]=='0')
        {
            b1--;
        }
        if(b1>=0)
        for(b1;b1>0;b1--)
            cout<<a[b1];
        else cout<<"0";
    }
    return 0;
}

第八个点没过。。。


by Argon_Cube @ 2021-02-21 12:20:03

@pld_pd

Input:
-1000000001
Output:
-1000000001

试一下这组数据?


by Argon_Cube @ 2021-02-21 12:22:01

@pld_pd 把中间去掉几个0也行


by Argon_Cube @ 2021-02-21 12:25:59

@pld_pd 找到问题了。

b1=strlen(a)-2;//Line 25

你为什么要减2?减1就正常了。

下面不是已经对减号特殊处理了吗?


by pld_pd @ 2021-02-21 12:42:41

@Unnamed_Cube 谢谢!谢谢!


|