两个任意长度整数的加减乘除.doc
文本预览下载声明
#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])
显示全部