#include<stdio.h>
#include<string.h>
#include<math.h>
void func(char s1[120],char s2[120],int len1,int len2){
int a[120]={0},b[120]={0};int i,j,k;
j=0;
for(i=len1-1;i>=0;i--){
a[j++]=s1[i]-'0';
}
j=0;
for(i=len2-1;i>=0;i--){
b[j++]=s2[i]-'0';
}
for(i=0;i<=110;i++){
a[i]-=b[i];
if(a[i]<0){
a[i]+=10;
a[i+1]--;
}
}
for(i=110;i>=0;i--){
if(a[i]!=0){
break;
}
}
if(i==-1){
printf("0");
}else{
for(j=i;j>=0;j--){
printf("%d",a[j]);
}
}
printf("\n");
}
int main(){
int t,k=1;
scanf("%d",&t);
while(t--){
char s1[120],s2[120];
scanf("%s",s1);
scanf("%s",s2);
printf("Case #%d:\n",k++);
int len1=strlen(s1);
int len2=strlen(s2);
if(len2>len1||(len1==len2&&strcmp(s1,s2)<0)){
printf("-");
func(s2,s1,len2,len1);
}else{
func(s1,s2,len1,len2);
}
}
return 0;
}
Extra 做算术(大数相减)
于 2022-03-21 20:29:09 首次发布