蒟蒻70分代码求助!!!

P1307 [NOIP2011 普及组] 数字反转

明月几时有 @ 2020-09-15 23:51:26

#include<cstdio>
int n,a[1000000005],k=1;
int main(){
    scanf("%d",&n);
    if(n<0) printf("-"),n*=(-1);
    while(n){
        if(n%10==0){
            n/=10;
            continue;
        }
        else{
            a[k]=n%10;
            n/=10;
            k++;
        }
    }
    for(int i=1;i<=k-1;i++) printf("%d",a[i]);
}

by zzqDeco @ 2020-09-16 07:31:38

为啥不直接用字符串?


by 面壁的艾伦 @ 2020-09-16 08:09:05


by metaphysis @ 2020-09-16 08:34:48

@明月几时有

#include<cstdio>
int n,a[16],k=1;
int main(){
    scanf("%d",&n);
    if(n<0) printf("-"),n*=(-1);
    int zero = 1;
    while(n){
        if(zero && n % 10 == 0){
            n/=10;
            continue;
        }
        else{
            zero = 0;
            a[k]=n%10;
            n/=10;
            k++;
        }
    }
    for(int i=1;i<=k-1;i++) printf("%d",a[i]);
}

by metaphysis @ 2020-09-16 08:36:57

@明月几时有

在您的代码基础上改的,虽然AC了,但是对于输入为“0”时,无法正确处理,您需要再修改下。


by 明月几时有 @ 2020-09-16 23:00:32

@metaphysis 好的,谢谢


by 7708__qwq @ 2020-10-20 11:05:16

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊


|