高精度减法

来源:互联网 发布:java内存溢出分析工具 编辑:程序博客网 时间:2024/05/02 01:39

高精度减法

#include<stdio.h>#include<string.h>int a[500],b[500],c[501],lena,lenb,lenc,i,j,x,k;void jian(char *a1,char *b1){    char temp[500];    memset(a,0,sizeof(a));    memset(b,0,sizeof(b));    memset(c,0,sizeof(c));    if(strlen(a1)<strlen(b1)||(strlen(a1)==strlen(b1)&&strcmp(a1,b1)<0)){        strcpy(temp,a1);        strcpy(a1,b1);        strcpy(b1,temp);        c[0]='-';    }    lena=strlen(a1);    lenb=strlen(b1);    for(i=0;i<lena;i++){        a[lena-i]=a1[i]-48;    }    for(i=0;i<lenb;i++){        b[lenb-i]=b1[i]-48;    }    i=1;    while(i<=lena||i<=lenb){        if(a[i]<b[i]){            a[i]+=10;            a[i+1]--;        }        c[i]=a[i]-b[i];        i++;    }    lenc=i;    while((c[lenc]==0)&&(lenc>1)){        lenc--;    }    if(c[0]=='-'){             printf("%c",c[0]);    }    for(i=lenc;i>=1;i--){         printf("%d",c[i]);    }    printf("\n");}int main(){    char a1[500],b1[500],t;    scanf("%s%d",a1,&t);    jian(a1,b1);}
1 0
原创粉丝点击