C语言 矩阵相加C=A+B

小弟才学C语言不久,要求:输入二维数组A和B均为3行4列,相加后,按行列格式输出C!希望各位大神帮帮小弟,赶紧不尽!

第1个回答  2011-06-07
#include <stdio.h>
main()
{
int a[3][4],b[3][4],c[3][4];
for(int i = 0;i < 3;i++) //输入数组a
for(int j = 0;j <4;j++)
scanf("%d",&a[i][j]);

for(int i = 0;i < 3;i++) //输入数组b
for(int j = 0;j <4;j++)
scanf("%d",&b[i][j]);

for(int i = 0;i < 3;i++) //计算c
{
for(int j = 0;j <4;j++)
{
c[i][j] = a[i][j] + b[i][j];
printf("%d ",c[i][j]);
}
pringf("\n");
}
}

试试吧....
第2个回答  2011-06-07
哎 直接用matlab做就可以直接相加了,不用循环了

或者你定义一个矩阵可以直接相加的函数也很方便,我估计C语言数学库里面说不定有这种函数
看看这个函数怎么编写 http://zhidao.baidu.com/question/33258199.html

然后就是调用的问题了

很简单 自己试着编写一下 自己不试直接照抄学不到精髓
第3个回答  2011-06-07
// 测试通过了,拿去吧
#include <stdio.h>

int main(void)
{
int i,j;
int a[3][4],b[3][4],c[3][4];

printf("please input the array for a:\n"); //输入数组a的元素
for(i = 0; i < 3; i++)
{
for(j = 0; j < 4; j++)
{
scanf("%d",&a[i][j]);
}
}
printf("please input the array for b:\n"); //输入数组b的元素
for(i = 0; i < 3; i++)
{
for(j = 0; j < 4; j++)
{
scanf("%d",&b[i][j]);
}
}
printf("now the array c is :\n"); //计算数组c并输出
for(i = 0; i < 3; i++)
{
for(j = 0; j < 4; j++)
{
c[i][j] = a[i][j]+b[i][j];
printf("%5d",c[i][j]);
}
printf("\n");
}
return 0;
}
第4个回答  推荐于2016-05-26
#include <stdio.h>
void main()
{
int i,j;
int a[3][4],b[3][4],c[3][4];
printf("input a[3][4]:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);

printf("input b[3][4]:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&b[i][j]);

for(i=0;i<3;i++)
for(j=0;j<4;j++)
c[i][j]=a[i][j]+b[i][j];

printf("output c[3][4]:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%d ",c[i][j]);
printf("\n");
}

}本回答被提问者采纳
第5个回答  2011-06-07
for(i=1;i<=3;i++)
for(j=1;j<=4;j++)
C(i,j)=A(i,j)+B(i,j);
end
谢谢