大整數加法
我的程序:
/********************************************************************
程序名:大整數加法
作者:許文發
時間:2009-11-28
********************************************************************/
#include
#include
#include
//兩個數之和,結果存在sum中(以逆序存放)
int add(int num1[],int n1,int num2[],int n2,int sum[])
{
int i=0;
int temp;
while(n1!=0 && n2!=0)
{
temp=num1[--n1]+num2[--n2];
if(temp>9)
{
temp-=10;
sum[i+1]=1;
}
sum[i]+=temp;
if(sum[i]>9)
{
sum[i]=sum[i]-10;
sum[i+1]+=1;
}
i++;
}
while(n1!=0)
{
sum[i++]+=num1[--n1];
}
while(n2!=0)
{
sum[i++]+=num2[--n2];
}
if(sum[i]!=0)
i++;
return i;
}
void mywrite(int sum[],int n)
{
FILE *pt;
pt=fopen("output.txt","w");
for(int i=n-1;i>=0;i--)
fprintf(pt,"%d",sum[i]);
fclose(pt);
}
void main()
{
FILE *pt;
int *num1,*num2,*sum;
int n1,n2,n3,i;
char ch;
if(NULL==(pt=fopen("input.txt","r")))
{
cout<<"can't open input.txt"<=n2?n3=n1+1:n3=n2+1;
sum=new int[n3];
memset(num1,0,n1*sizeof(int));
memset(num2,0,n1*sizeof(int));
memset(sum,0,n3*sizeof(int));
rewind(pt);
for(i=0;i
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.