60分求助(C)
查看原帖
60分求助(C)
1651599
Yuanlj楼主2025/1/25 16:22
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char s1[10090];
    char s2[10090];
    scanf("%s",s1);
    scanf("%s",s2);
    int a[10090]={0};
    int b[10090]={0};
    int c[10090]={0};
    int la,lb,lc;
    la=strlen(s1);
    lb=strlen(s2);
    lc=(la>lb?la:lb);
    int flag=0;

    if(atoi(s1)<atoi(s2))
    {
        flag=1;
        char temp[10090];
        strcpy(temp,s1);
        strcpy(s1,s2);
        strcpy(s2,temp);
        int t;
        t=la;
        la=lb;
        lb=t;
    }

    for(int i=0;i<la;i++)
    {
        a[la-i-1]=s1[i]-'0';
    }
    for(int i=0;i<lb;i++)
    {
        b[lb-i-1]=s2[i]-'0';
    }
    for(int i=0;i<lc;i++)
    {
        if(a[i]<b[i])
        {
            a[i]+=10;
            a[i+1]--;
        }
        c[i]=a[i]-b[i];
    }

    lc=lc-1;
    while(c[lc]==0&&lc>=1)
    {
        lc--;
    }

    if(flag==1)
    {
        printf("-");
    }
    for(int i=lc;i>=0;i--)
    {
        printf("%d",c[i]);
    }

    return 0;
}
2025/1/25 16:22
加载中...