① c语言:编写程序,计算两个3×4矩阵的和
#include<stdio.h>
int main()
{
int a[3][4],b[3][4],c[3][4];
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
scanf("%d",&a[i][j]);
printf(" ");
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
scanf("%d",&b[i][j]);
printf(" ");
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%d",c[i][j]);
if(j!=3)
printf(" ");
else
printf(" ");
}
return 0;
}

② 用c语言实现两个矩阵相乘怎么做
1、程序运行输入数据时,第一行为A矩阵的行列数和B矩阵的行列数,接着分别输入A、B两个矩阵的值。

③ 怎样用C语言去编程两个3*3矩阵之和,之差,之积
/****************************************************************************/ 
/*题目:矩阵加减乘演示*****/ 
/*作者:vc99 writed for c bar***/ 
/*日期:***/ 
/*简介:本演示引入第三个矩阵来保存运算结果,以达到连续运算的目的。***/ 
/***************************************************************************/ 
# include <stdio.h> 
# define X 3 
# define Y 3 
/**********输出数组*******/ 
void prt(int a[X][Y]) 
{ 
int i,j; 
for(i=0;i<X;i++) 
{ 
for(j=0;j<Y;j++) 
printf(" %5d",a[i][j]); 
printf("\n"); 
} 
} 
/************输入数组*********/ 
void inp(int a[X][Y]) 
{ 
int i,j,t; 
for(i=0;i<Y;i++) 
for(j=0;j<Y;j++) 
{ 
printf("a[%d][%d]=",i,j);/**提示输入第几个矩阵元素 ****/ 
scanf("%d",&t); 
a[i][j]=t; 
} 
} 
/********矩阵加,结果保存于c[][]*********/ 
void madd(int a[X][Y],int b[X][Y],int m[X][Y]) 
{ 
int i,j; 
for(i=0;i<X;i++) 
for(j=0;j<Y;j++) 
m[i][j]=a[i][j]+b[i][j];/***矩阵加****/ 
prt(m); 
} 
/********矩阵减,结果保存于c[][]****/ 
void msub(int a[X][Y],int b[X][Y],int m[X][Y]) 
{ 
int i,j; 
for(i=0;i<X;i++) 
for(j=0;j<Y;j++) 
m[i][j]=a[i][j]-b[i][j];/***矩阵减****/ 
prt(m); 
} 
/*******矩阵乘,结果保存于c[][]******/ 
void mmul(int a[X][Y],int b[X][Y],int m[X][Y]) 
{ 
int i,j,k; 
for(i=0;i<X;i++) 
for(j=0;j<Y;j++) 
m[i][j]=0; 
for(i=0;i<X;i++) 
for(j=0;j<Y;j++) 
for(k=0;k<Y;k++) 
m[i][j]+=a[i][k]*b[k][j];/***矩阵乘****/ 
prt(m); 
} 
int main() 
{ 
int sel=0,agn=1,cpt=1; 
int a[X][Y], b[X][Y], m[X][Y]; 
while(agn==1) 
{ 
printf("请输入矩阵a!\n"); 
inp(a); 
printf("请输入矩阵b!\n"); 
inp(b); 
while (cpt==1) 
{ 
printf("请选择矩阵运算:[1]+ [2]- [3]*\n\t"); 
scanf("%d",&sel); 
if (sel==1) madd(a,b,m); 
if (sel==2) msub(a,b,m); 
if (sel==3) mmul(a,b,m); 
printf("重新运算?[1]是 [0]否"); 
scanf("%d",&cpt); 
} 
printf("是否重新输入矩阵?[1]是 [0]否"); 
scanf("%d",&agn); 
} 
return 0; 
}
参考资料:http://..com/question/43640208.html?si=1
④ C语言:编写完整程序:计算两个矩阵的乘积。
#include
"stdio.h"
#include
"stdlib.h"
void
main
()
{
int
m,l,p,q;
printf("输入第一个矩阵的维数m和l:\n");
scanf("%d%d",&m,&l);
printf("输入第二个矩阵的维数p和q:\n");
scanf("%d%d",&p,&q);
while
(l!=p)
{
printf("两个矩阵不匹配,不能进行相乘运算,请重新输入...\n\n");
printf("输入第一个矩阵的维数m和l:\n");
scanf("%d%d",&m,&l);
printf("输入第二个矩阵的维数p和q:\n");
scanf("%d%d",&p,&q);
}
double
a[200][200]={0},
b[200][200]={0},sum=0;
int
i,j,k=0;
for
(i=0;i<m;i++)
{
for
(j=0;j<l;j++)
{
a[i][j]=(double)rand()/RAND_MAX;
}
}
printf("随机矩阵a是:\n");
for
(i=0;i<m;i++)
{
for
(j=0;j<l;j++)
{
printf("%f
",a[i][j]);
}
printf("\n");
}
//cout<<"输入一个3*2的矩阵:"<<endl;
for
(i=0;i<p;i++)
{
for
(j=0;j<q;j++)
{
b[i][j]=(double)rand()/RAND_MAX;
}
}
printf("随机矩阵b是:\n");
for
(i=0;i<p;i++)
{
for
(j=0;j<q;j++)
{
printf("%f
",b[i][j]);
}
printf("\n");
}
printf("ab相乘结果为:\n");
for
(i=0;i<m;i++)
{
while
(k<q)
{
for
(j=0;j<q;j++)
{
sum
=
a[i][j]*b[j][k]+sum;
}
printf("%f
",sum);
k++;
sum=0;
}
k=0;
printf("\n");
}
}
