| 
 | 
 
 
 楼主 |
发表于 2015-11-8 14:55:41
|
显示全部楼层
 
 
 
- #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';
 
 -         }
 
 -     }
 
 - }
 
  复制代码 
高精减,这个是自己写的= = |   
 
 
 
 |