帮忙看一下程序错在哪里?
题目:求2个3×3矩阵对应元素之和,并存入矩阵C中,然后输出矩阵C。 设计步骤:
① 定义3个3×3矩阵a,b,c;
② 设计用双重循环给矩阵a、b赋值;
③ 用双重循环求矩阵a、b对应元素之和并赋给矩阵c;
④ 用双重循环输出矩阵c对应的元素。
我用TC运行,运行以后窗口自动关闭,帮忙看一下哪里错了,或在此基础上帮我修改一下,谢谢!(我是新手)
#include<stdio.h>
main()
{
int a[2][2],b[2][2],c[2][2],s[2][2],i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
scanf("%d",a[i][j]);
scanf("%d",a[i][j]);
c[i][j]=a[i][j]+b[i][j];
}
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
if(j<2)
printf("%d\0",c[i][j]);
else
printf("%d\n",c[i][j]);
----------------解决方案--------------------------------------------------------
话说,你对数组边界没有认识好...
----------------解决方案--------------------------------------------------------
~
你那里面错误还蛮多的 首先scanf("%d",a[i][j]); 中a[i][j]前要加& 还有你那两个输入数据的时候 能同时计算? 感觉就是乱,而且是3*3距阵怎么定义的是a[2][2]? 给你随便写了个自己看看吧#include<stdio.h>
int main()
{
int a[3][3],b[3][3],c[3][3],i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&b[i][j]);
}
printf("\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%4d",c[i][j]);
}
printf("\n");
}
}
----------------解决方案--------------------------------------------------------
老问题,数组越界
----------------解决方案--------------------------------------------------------