满意答案
#include
#define MAX 10
void main()
{
int a[MAX]={7},b[MAX]={7},c[2*MAX]={0};
int i,j,x,y,z,w;
for(i=0;i
{
for(j=0;j
{
x=a[i]*b[j];
y=x/10;
z=x%10;
w=i+j;
c[w]=c[w]+z; c[w+1]=c[w+1]+y+c[w]/10;
c[w]=c[w]%10;
printf("x=%d,y=%d,z=%d,w=%d,c[%d]=%d,c[%d]=%d\n\n\n",x,y,z,w,w,c[w],w+1,c[w+1]);
}
}
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");
}
改成这样你在看看应该就知道哪里有问题了,你开始的数组c[]没有初始化,出来的数据应该是未知的,而且我不明白你前面对c[]赋值运算的时候只给c[0]~c[18]一共19个数赋值了,你最后输为什么要输出到c[19]。
00分享举报