文档详情

两个任意长度整数的加减乘除.doc

发布:2018-02-28约3.83千字共7页下载文档
文本预览下载声明
#includestdio.h #includestring.h #includemath.h #define MAX 100 void jia(char aa[],char bb[],int n,int m) { int i,temp=0,j; int a[MAX]={0},b[MAX]={0}; int c[MAX]={0}; for(i=n-1,j=0;i=0;i--,j++) a[j]=aa[i]-0; for(i=m-1,j=0;i=0;i--,j++) b[j]=bb[i]-0; if(nm) n=m; for(i=0;i=n;i++) { c[i]=b[i]+a[i]+temp; if(c[i]=10) { c[i]=c[i]-10; temp=1; } else temp=0; } if(c[n]==0) for(i=n-1;i=0;i--) printf(%d,c[i]); else { for(i=n;i=0;i--) printf(%d,c[i]); } printf(\n); } void fun2(int a[],int b[],int n) { int c[MAX]={0}; int i,j,temp=0; for(i=0;i=n;i++) { c[i]=a[i]-b[i]-temp; if(c[i]0) { c[i]=c[i]+10; temp=1; } else temp=0; } for(i=n;i=0;i--) if(c[i]!=0) break; for(j=i;j=0;j--) printf(%d,c[j]); printf(\n); } void cha(char aa[],char bb[],int n,int m) { int a[MAX]={0},b[MAX]={0}; int i,j,w; for(i=n-1,j=0;i=0;i--,j++) a[j]=aa[i]-0; for(i=m-1,j=0;i=0;i--,j++) b[j]=bb[i]-0; if(nm) { printf(-); fun2(b,a,m); } if(nm) fun2(a,b,n); if(n==m) { w=strcmp(aa,bb); if(w0) fun2(a,b,n); else if(w0) { printf(-); fun2(b,a,n); } else printf(0); } } void cheng(char aa[],char bb[],int n,int m) { int i,temp=0,j; int a[MAX]={0},b[MAX]={0}; int c[MAX]={0}; for(i=n-1,j=0;i=0;i--,j++) a[j]=aa[i]-0; for(i=m-1,j=0;i=0;i--,j++) b[j]=bb[i]-0; for(i=0;i=m;i++) { for(j=0;j=n;j++) { c[i+j]=c[i+j]+b[i]*a[j]; c[i+j]=c[i+j]+temp; if(c[i+j]=10) { temp=c[i+j]; c[i+j]=c[i+j]%10; temp=temp/10; } else temp=0; } } for(i=m*n;i=0;i--) if(c[i]!=0) break; for(j=i;j=0;j--) printf(%d,c[j]); printf(\n); } int bijiao(int a[],int b[],int j,int m) { int i; int t; for(i=j,t=1;im+j;i++,t++) { if(a[i]b[t]) return 1; if(a[i]b[t]) return 2; } return 3; } int bijiao1(int a[],int b[],int j,int m) { int i; int t; for(i=j,t=1;im+j;i++,t++) { if(a[i]b[t]) return 1; if(a[i]b[t])
显示全部
相似文档