超大整数的加法。。。求助
[code=C/C++][/code]
#include<stdio.h>
main()
{
int a[20],b[20],c[20];
int i=0,temp=0,head=0;
a[20]={2,2,2,2,7,2,2,2,2,7,2,2,2,2,7,2,2,2,2,7};
b[20]={3,3,3,3,5,3,3,3,3,5,3,3,3,3,5,3,3,3,3,5};
c[20]={0};
for(i=19;i>=0;i--)
{
if(i>=1)
{
temp=a[i]+b[i];
if(temp>=10)
{
c[i]=temp%10;
c[i-1]=c[i-1]+1;
}
if(temp<10)
{
c[i]=temp;
}
}
else if(i==0)
{
if(temp>=10)
{
c[i]=temp%10;
head=1;
}
if(temp<10)
c[i]=temp;
}
for(i=0;i<20;i++)
{
printf("%d",a[i]);
}
printf("\n加上\n");
for(i=0;i<20;i++)
{
printf("%d",b[i]);
}
printf("\n等于\n");
printf("%d",head);
for(i=0;i<20;i++)
{
printf("%d",c[i]);
}
}
return 0;
}
请问哈这个哪里错了啊,谢谢。。。
[解决办法]
// int a[20],b[20],c[20]; int i=0,temp=0,head=0; int a[20]={2,2,2,2,7,2,2,2,2,7,2,2,2,2,7,2,2,2,2,7}; int b[20]={3,3,3,3,5,3,3,3,3,5,3,3,3,3,5,3,3,3,3,5}; int c[20]={0};
[解决办法]