求问

P1307 [NOIP2011 普及组] 数字反转

Monody_h @ 2024-07-23 21:23:39

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long x;
    cin>>x;
    long long y;
    long long z;
    bool a = true;
    if(x>0){
        y=x;
    }
    if(x==0){
        cout<<"0"<<endl;
        return 0;
    }
    if(x<0){
        y=-x;
        a=false;
    }int i=10;
    long long j=1;
    for(long long k=10;k<=y;k*=10){
        if(k*10>y) j=k;
    }
    while(y){
        z+=(y%i)*j;
        j/=10;
        y/=10;
    }
    if(a==false) cout<<"-";
    cout<<z;
    return 0;
}

求问:我数据(包括它给的数据点)代入进去都是正确的,为什么过不了(还只有0分)


by haimingbei @ 2024-07-23 21:36:05

@Monody_h 循环将n反转,再判断,0要特判,其他就是easy的啦(AC,求关注)

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,s=0;
    bool f;
    cin>>n;
    if(n==0){
        cout<<0;
        return 0;
    else if(n>0)f=1;
    else if(n<0)f=0;
    int x=abs(n);
    while(x){
        s=s*10+x%10;
        x/=10;
    }
    if(f==1)cout<<s;
    else cout<<"-"<<s;
    return 0;
}

by LX_zxy @ 2024-07-23 21:39:02

@Monody_h 你把测试点1的数据发一下


by ZJYlove @ 2024-07-23 21:39:11

你可以试着再代进去一下 我代123就已经输出错了


by Monody_h @ 2024-07-23 21:39:46

@LX_zxy 实不相瞒,测试点一我过了(后面全错,一分没有)


by LX_zxy @ 2024-07-23 21:39:55

@ZJYabc2011 并没有


by Monody_h @ 2024-07-23 21:40:28

@ZJYabc2011 可是我这运行的123是对的啊


by ZJYlove @ 2024-07-23 21:40:39

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long x;
    cin>>x;
    long long y;
    long long z;
    bool a = true;
    if(x>0){
        y=x;
    }
    if(x==0){
        cout<<"0"<<endl;
        return 0;
    }
    if(x<0){
        y=-x;
        a=false;
    }int i=10;
    long long j=1;
    for(long long k=10;k<=y;k*=10){
        if(k*10>y) j=k;
    }
    while(y){
        z+=(y%i)*j;
        j/=10;
        y/=10;
    }
    if(a==false) cout<<"-";
    cout<<z;
    return 0;
}

这样应该算最简单的了。。。


by LX_zxy @ 2024-07-23 21:41:39

@Monody_h 那就第二个测试点


by Monody_h @ 2024-07-23 21:42:24

@LX_zxy -290 -92(但我带进去也没问题啊)


by ZJYlove @ 2024-07-23 21:42:58

@Monody_h 但是我这里是把x,y,z定义成全局变量就可以了的 否则会输出一个很奇怪的数


| 下一页