为啥4个ac,但还有一个wa???
查看原帖
为啥4个ac,但还有一个wa???
677589
hanzuorui楼主2022/4/3 13:12
#include <stdio.h>
char a[1000];
char b[1000];
char c[1000];
int strlen(char d[])
{
    int l=0;
    for(int i=0;d[i]!='\0';i++)
    {
        l++;
    }
    return l;
}
int max(int a,int b)
{
    if(a>b)
    {
        return a;
    }
    else
    {
        return b;
    }
}
int main()
{
    scanf("%s%s",a,b);
    int la=strlen(a);
    int lb=strlen(b);
    char tmp;
    for(int i=0;i<la/2;i++)
    {
        tmp=a[i];
        a[i]=a[la-1-i];
        a[la-1-i]=tmp; 
    }
    for(int i=0;i<lb/2;i++)
    {
        tmp=b[i];
        b[i]=b[lb-1-i];
        b[lb-1-i]=tmp; 
    }
    for(int i=la;i<50;i++)
    {
        a[i]='0';
    }
    for(int i=lb;i<50;i++)
    {
        b[i]='0';
    }
    int v=0;
    for(int i=0;i<=max(la,lb);i++)
    {
        c[i]=(a[i]-'0'+b[i]-'0'+v)%10+'0';
        v=(a[i]-'0'+b[i]-'0'+v)/10;
    }
    if(c[max(la,lb)]=='0')
    {
        for(int i=max(la,lb)-1;i>=0;i--)
        {
            printf("%c",c[i]);
        }
    }
    else
    {
        for(int i=max(la,lb);i>=0;i--)
        {
            printf("%c",c[i]);
        }
    }
    return 0;
}

输入输出结果附:

输入A:

350204156568812004512541458715942878921069349854678

输入B:

5120132301230048014584016540526804565814706519846494321001345794503242112976563432120

输出:

5120132301230048014584016540526804916018863088658498833542804510446121034045913286798

谢谢!!!

2022/4/3 13:12
加载中...