70分求助

P1307 [NOIP2011 普及组] 数字反转

Coin11 @ 2021-01-28 17:54:58

只能下载一个源数据900000000,本机测试结果也是是9,但是过不了,麻烦大佬看一看,感激

#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;

int main(){
    char a[100],b[100];
    int i,j;
    cin >> a;
    i=strlen(a)-1;
    while(a[i]=='0') i--;
    for(j=0;i>=0;i--,j++){
        b[j]=a[i];
    }
    if(b[j-1]=='-'){
        b[j-1]='\0';
        cout << '-' << b;
    }
    else {
        cout << b;
    }

    return 0;
}

by ReeChee @ 2021-02-23 09:13:46

看数据范围

−1,000,000,000≤N≤1,000,000,000。

所以把数组开大点

char a[1000000],b[1000000];

by 许江一墨 @ 2021-02-23 13:51:11

建议用string类这样就不会出现空间不够的问题了(滑稽)


|