|

楼主 |
发表于 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';
- }
- }
- }
复制代码
高精减,这个是自己写的= = |
|