哪错了呀,全部wa求助
查看原帖
哪错了呀,全部wa求助
583126
CKAO楼主2021/12/6 23:17
#include<stdio.h>
#include<string.h>
int cmp(char x[],char y[])
{
    int a,b;
    a=strlen(x);
    b=strlen(y);
    if (a<b)
        return 1;
    if (a==b)
    {
        if (strcmp(x,y)<0)
            return 1;
    }
    return 0;
}
int main()
{
    char x[10087],y[10087],z[10087];
    int a[10087],b[10087],c[10087],i,num=0;
    gets(x);
    gets(y);
    int lena,lenb,t;
    if (cmp(x,y)==1)
    {
        strcpy(z,x);
        strcpy(x,y);
        strcpy(y,z);
        num=1;
    }
    lena=strlen(x);
    lenb=strlen(y);
    for (i=0;i<lena;i++)
        a[lena-i-1]=x[i]-'0';
    for (i=0;i<lenb;i++)
        b[lenb-1-i]=y[i]-'0';
    for (i=0,t=0;i<lena;i++)
    {
        t=a[i]-t;
        if (i<lenb)
            t=t-b[i];
        c[i]=(t+10)%10;
        if (t<0)
            t=1;
        else
            t=0;
    }
    while (c[lena-1]==0) lena--;
    if (num==0)
    {
        for (i=lena-1;i>=0;i--)
            printf ("%d",c[i]);
    }
    else
    {
        printf ("-");
        for (i=lena-1;i>=0;i--)
            printf ("%d",c[i]);
    }
    return 0;
}
2021/12/6 23:17
加载中...