求助,wa+re
查看原帖
求助,wa+re
1068697
kevin_wu05楼主2023/8/19 10:27

求助,我自己测试的时候输出的结果是对的,但是如果输入的太长了就不输出了

#include<cstdio>
#include<algorithm>

using namespace std;

char a[601], b[601];
int sum[601];//最终结果

int main(){
    int i;
    for(i=0;;i++)
    {
        a[i]=getchar();
        if(a[i]=='\n'){
            a[i]=0;
            break;
        }
    }
    i-=1;
    int j;
    for(j=0;;j++)
    {
        b[j]=getchar();
        if(b[j]=='\n'){
            b[j]=0;
            break;
        }
    }
    j-=1;
    int jin=0;//进位
    int wei=max(i,j);
    for(int k=wei; k>=0; k--)
    {
        if(min(i,j)>=0)
        {
            sum[k]=(a[i]-48+b[j]-48+jin)%10;
            if(a[i]-48+b[j]-48+jin>=10)
            jin=1;
            else jin=0;
        }
        if(min(i,j)<0)
        {
            if(i>=j)
            {
                sum[k]=a[k]-48+jin;
                if(sum[k]==10)
                jin=1;
                else jin=0;
                sum[k]=sum[k]%10;
            }
            else
            {
                sum[k]=b[k]-48+jin;
                if(sum[k]==10)
                jin=1;
                else jin=0;
                sum[k]=sum[k]%10;
            }
        }
        i-=1;
        j-=1;

    }
    if(jin==1)
    {
        printf("1");
        for(int k=0;k<=wei;k++)
            printf("%d", sum[k]);
    }
    else
    {
        for(int k=0;k<=wei;k++)
            printf("%d", sum[k]);
    }
    printf("\n");
    //printf("%d", i);
    return 0;
}
2023/8/19 10:27
加载中...