#include<iostream>
#include<stdio.h>
#include<string.h>
int?a[200]={0},b[200]={0},c[200]={0};
int?max1,m,n,min1;
char?s1[200],s2[200];
void?convert()
{
int?i,j;
for(i=m-1,j=0;i>=0;i--,j++)
????????{
????????????a[j]=s1[i]-48;
????????}
????????for(i=n-1,j=0;i>=0;i--,j++)
????????{
????????????b[j]=s2[i]-48;
????????}
}
void?numdecline()//減法?
{
int?i,?flag;
char?temp[200];
if(max1=m)
{
flag=1;
}
else?if(strcmp(s1,s2)>0)
{
flag=1;
}
else
{
flag=-1;
strcpy(temp,s1);
????????????????strcpy(s1,s2);
????????????????strcpy(s2,temp);
}
convert();
for(i=0;i<max(m,n);i++)
{
a[i]=a[i]-b[i];
if(a[i]<0)
{
a[i]+=10;
a[i+1]=a[i+1]-1;
}
}
i=max(m,n)-1;
while(a[i]==0){
i--;}
if(flag=-1)
{
a[i]*=-1;
}
for(;i>=0;i--)
{
printf("%d",a[i]);
}
}?
int?main()
{
while(scanf("%s%s",s1,s2)==2)
{
int?i,j;
m=strlen(s1);
n=strlen(s2);
max1=max(m,n);
printf("兩數(shù)相減為\n");
numdecline();
printf("\n");
}
printf("\n");
return?0;
}
關(guān)于大整數(shù)減法,不知道為啥輸入像4-5就=-9
weibo_殤雨916_0
2016-04-23 00:15:01