Dev上测试可以但这里不行

P1015 [NOIP1999 普及组] 回文数

cyping @ 2023-01-30 18:01:42

如题,下了一组数据后在Devcpp上验证了一下是可以的

#include<stdio.h>
int isreverse(int *a,int l)
{
    for(int i=0,j=l-1;i<j;i++,j--) if(a[i]!=a[j]) return 0;
    return 1;
}

int main(void)
{
    char ch;
    int m[100],len=0,rev[100],step,add[100]={0},i,n;
    scanf("%d",&n);
    getchar();
    for(ch=getchar();ch!=EOF&&ch!='\n';){  //扫描m 
        m[len]=ch-'0';
        len++; 
        ch=getchar();
    }
    for(step=0;!isreverse(m,len);step++){
        for(i=1;i<=len;i++){  
           rev[i-1]=m[len-i];
        }
        for(i=0;i<len;i++){
           add[i+1]=(add[i]+m[i]+rev[i])/n;
           add[i]=(add[i]+m[i]+rev[i])%n;
        }
        if(add[i])len++;
        for(i=0;i<len;i++){
            m[i]=add[i];
            add[i]=0;
        }
        if(step>30)break;
    }
    if(step<=30) printf("STEP=%d",step);
    else printf("Impossible!");
}

by WanderOvO @ 2023-01-30 18:26:13

在这里测试一下


by WA_Coding_Duck @ 2023-01-30 18:52:09

用NOI Linux或Ubuntu


by cyping @ 2023-01-30 19:12:41

@WanderOvO 确实在这里就不行了qwq请问怎么办呢?好像不能调试


by WanderOvO @ 2023-02-04 18:31:49

@cyping 可能是换行符的问题,你多用一发 getchar() 试一下


|