大数的减法
大数的减法,同样的需要用数组保留输入的两个大数,然后将其转换成为整型数进行运算。代码如下
#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("\n");
}
return 0;
}

浙公网安备 33010602011771号