大数的减法

      大数的减法,同样的需要用数组保留输入的两个大数,然后将其转换成为整型数进行运算。代码如下

#include<stdio.h>       //此代码要求a-b,其中a大于b 

#include<string.h>

int main(void)
{
    char s1[505],s2[505];
    while(scanf("%s%s",s1,s2)==2)
    {
        int i,j,len1,len2;
        int a[105]={0},b[105]={0};
        len1=strlen(s1);
        len2=strlen(s2);
        for(i=len1-1,j=0;i>=0;i--,j++)         //将字符转换成为整型数 
        {
            a[j]=s1[i]-48;
        }
        for(i=len2-1,j=0;i>=0;i--,j++)
        {
            b[j]=s2[i]-48;
        }
        for(i=0;i<len1;i++)
        {
            a[i]=a[i]-b[i];
            if(a[i]<0)
            {
                a[i]+=10;          //算法关键 
                a[i+1]--;
            }
        }
        i=len1-1;
        while(a[i]==0)                   
        {
            i--;
        }
        for(;i>=0;i--)
        {
            printf("%d",a[i]);
        }
        printf("
");
    }
    return 0;
}


原文地址:https://www.cnblogs.com/Tovi/p/6194924.html