#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
void jian(char *a,char *b,char *c);
char a[200],b[200],c[200],*p;
scanf("%s",a);
while(1){
scanf("%s",b);
if(strcmp(b, "0") == 0) break;
jian(a,b,c);
p=c;
if(*p == '0') p++;
if(*p == '0') p++;
strcpy(a, p);
}
printf("The result is: %s \n", a);
system("pause");
return 0;
}
void jian(char *a,char *b,char *c){
int i,j,k;
i=strlen(a);
j=strlen(b);
k=(i>j)?i:j;
memset(c,'0', k);
int charry=0,temp=0;
for(i--,j--;i>=0||j>=0;j--,i--,k--){
temp=-charry;
if (i>=0)temp+=a[i]-'0';
if (j>=0)temp-=b[j]-'0';
if(temp<0){
charry=1;
c[k]=temp+'0'+10;
}
else {
charry=0;
c[k]=temp+'0';
}
}
}
高精减,这个是自己写的= = |