‘壹’ c语言中求两个矩阵的和
C语言中求两个矩阵的和具体如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int a[3][3];
int b[3][3];
int i,j,c,x;
printf(" 求两个矩阵之和 ");
printf("请选择输入方式 ");
printf("0为随机自主输入,1为人工输入 ");
scanf("%d",&x);
if(x==1)
{
printf("请输入两个3*3矩阵,以回车结束每个数字的输入 ");
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
printf("b[%d][%d]=",i,j);
scanf("%d",&b[i][j]);
}
}
}
if(x==0)
{
srand((unsigned int)time(NULL));
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
a[i][j]=rand()%100+1;
}
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
printf("a[%d][%d]=",i,j);
printf("%d
",a[i][j]);
}
}
srand((unsigned int)time(NULL));
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
b[i][j]=rand()%100+1;
}
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
printf("b[%d][%d]=",i,j);
printf("%d ",b[i][j]);
}
}
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
c=a[i][j]+b[i][j];
printf(" %d ",c);
}
}
}
‘贰’ 求两个矩阵的和(用c语言中的二维数组)
关键用到for循环。
‘叁’ 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语言编程实现矩阵相加、相乘
矩阵相加会简单点,设a[2][3]和b[2][3],只要在相应的地方相加就行了,
for(i=0;i<2;i++)
for(j=0;j<3;j++)
c[i][j]=a[i][j]+b[i][j];
两矩阵相乘,
int a[][3]={1,2,3,4,5,6,7,8,9};//A为N×P矩阵,
//假设是3*3的矩阵
int b[][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
//B为P×M矩阵,假设是3*5的矩阵
int c[3][5]={0};//结果矩阵3*5
for(int i=0;i<3;i++)
for(int j=0;j<5;j++)
for(int k=0;k<3;k++)
c[i][j]+=a[i][k]*b[k][j];