求救,一个都过不了,在我的编译器上我试的所有例子都对啊
查看原帖
求救,一个都过不了,在我的编译器上我试的所有例子都对啊
868954
1234ss楼主2023/2/1 23:48
#include <stdlib.h>
#include <string.h>
int c;
int d;
int len;
int main()
{
    char str[1000],str1[1000];
    int num[1000]={0},num2[1000]={0},num3[1000]={0};
    int flag=0,i;
    gets(str);
    gets(str1);
    int sum1=strlen(str),
    sum2=strlen(str1);
    if(sum1>sum2||strcmp(str,str1)>=0&&sum1==sum2)
        {
            for(c=sum1-1;c>=0;c--)
              num[sum1-1-c]=str[c]-'0';
            for(d=sum2-1;d>=0;d--)
              num2[sum2-1-d]=str1[d]-'0';
             len=sum1;
        }
    else
        {
            flag=1;
            for(c=sum2-1;c>=0;c--)
               num[sum2-1-c]=str1[c]-'0';
            for(d=sum1-1;d>=0;d--)
               num2[sum1-1-d]=str[d]-'0';
            len=sum2;
        }
    for(i=0;i<=len-1;i++)
    {
        num3[i]=num[i]-num2[i];
        if(num3[i]<0)
        {
            num3[i]+=10;
            num[i+1]-=1;
        }
    }
    while(num3[len-1]==0&&len>1)
          len--;
    if(flag)
       printf("-");
    for(i=len-1;i>=0;i--)
        printf("%d",num3[i]);
    return 0;
}
2023/2/1 23:48
加载中...