用数组表示的int数 乘法得出的结果怎么这么变态。。。。求高手指点菜鸟(第一次发帖)
#include <stdio.h>#define MAX 10
void main()
{
int a[MAX]={7},b[MAX]={7},c[2*MAX];
int i,j,x,y,z,w;
for(i=0;i<MAX;i++)
{
for(j=0;j<MAX;j++)
{
x=a[i]*b[j];
y=x/10;
z=x%10;
w=i+j;
c[w]=c[w]+z; //w=15. i=5,j=10 or i=10,j=5 or i=7,j=8.......
c[w+1]=c[w+1]+y+c[w]/10;
c[w]=c[w]%10;
}
}
for(i=MAX-1;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
for(i=MAX-1;i>=0;i--)
{
printf("%d",b[i]);
}
printf("\n");
for(i=2*MAX-1;i>=0;i--)
{
printf("%d",c[i]);
}
printf("\n");
}