当前位置:首页 » 编程语言 » c语言求两矩阵之和
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言求两矩阵之和

发布时间: 2022-02-27 02:04:41

❶ 用c语言编写程序(两个矩阵相加)

用C语言编写程序(两个矩阵相加)代码如下:

/**

MatrixAddition.c

实现两个矩阵相加

*/

#include<stdio.h>

const int COLS=3;

void printMatirx(int *pArray,int rows,int cols);

void printMatirx2(int (*pArray)[COLS],int rows);

int main()

{

int A[3][4]={{15,10,9,12},

{18,14,8,7},

{16,13,6,11}};

printf("矩阵A= ");

printMatirx(A,3,4);

int B[3][4]={{4,3,5,2},

{0,9,6,1},

{5,7,2,6}};

printf("矩阵B= ");

printMatirx(B,3,4);

int C[3][4];

int i,j;

//矩阵相加:两个矩阵必须行数和列数一样才能相加,

//和矩阵的每个元素分别是两个矩阵对应的元素的和

printf("矩阵A+矩阵B= ");

for(i=0;i<3;i++)//控制行

{

for(j=0;j<4;j++)

{

C[i][j]=A[i][j]+B[i][j];

//printf("%3d",C[i][j]);//输出结果

}

// printf(" ");

}

int (*p)[COLS]=C;

printMatirx2(p,3);

/*结果应为:

19 13 14 14

18 23 14 8

21 20 8 17

*/

printf("矩阵C-矩阵A= ");

for(i=0;i<3;i++)//控制行

{

for(j=0;j<4;j++)

{

printf("%3d",C[i][j]-A[i][j]);//输出结果

}

printf(" ");

}

/*结果应为:

4 3 5 2

0 9 6 1

5 7 2 6

*/

//矩阵数乘:

int D[3][4];

printf("矩阵D: ");

for(i=0;i<3;i++)//控制行

{

for(j=0;j<4;j++)

{

D[i][j]=1;

printf("%d ", D[i][j]);//输出结果

}

printf(" ");

}

int mul;

printf("矩阵D数乘以:");

scanf("%d",&mul);

printf("矩阵D数乘以%d= ",mul);

for(i=0;i<3;i++)//控制行

{

for(j=0;j<4;j++)

{

D[i][j]=D[i][j]*mul;

printf("%d ", D[i][j]);//输出结果

}

printf(" ");

}

return 0;

}

(1)c语言求两矩阵之和扩展阅读:

C语言矩阵加减法函数:

void matrix_a(double **a_matrix, const double **b_matrix, const double **c_matrix,int krow, int kline, int ktrl)

////////////////////////////////////////////////////////////////////////////

// a_matrix=b_matrix+c_matrix

// krow :行数

// kline :列数

// ktrl :大于0: 加法 不大于0:减法

////////////////////////////////////////////////////////////////////////////

{

int k, k2;

for (k = 0; k < krow; k++)

{

for(k2 = 0; k2 < kline; k2++)

{

a_matrix[k][k2] = b_matrix[k][k2]

+ ((ktrl > 0) ? c_matrix[k][k2] : -c_matrix[k][k2]);

}

}

}

❷ 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语言中的二维数组)

关键用到for循环。

❹ 【C语言训练】求矩阵的两对角线上的元素之和

#include<stdio.h>

voidmain()

{

floata[3][3],sum=0;

inti,j;

printf("pleaseinputrectangleelement: ");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%f",&a[i][j]);

for(i=0;i<3;i++)

sum=sum+a[i][i];

printf("ijiaoxianheis%6.2f",sum);

}

(4)c语言求两矩阵之和扩展阅读

C语言计算数组元素之和

#include<stdio.h>

intmain(){

intarray[10]={1,2,3,4,5,6,7,8,9,0};

intsum,loop;

sum=0;

for(loop=9;loop>=0;loop--){

sum=sum+array[loop];

}

printf("元素和为:%d",sum);

return0;

}

❺ C语言编程:求两个矩阵的和(要求用数组)

每个对应的行列加起来就可以了

❻ C语言题,求两个矩阵的乘积c 已知矩阵a和b的值

定义矩阵a和b
双重循环, 输入a和b的值
定义结果矩阵c,并将所有元素赋值为0
三重循环
根据矩阵乘积规则,计算c的每个值。
输出c

❼ C语言编程问题:两个矩阵求和

对一位数组,不知道数组大小可以这样做:
int *a;
int i,n;
scanf("%d",&n);
a=(int *)malloc(n*sizeof(int));
这样就相当于C++的定义:
int n;
int a[n];
cin>>n;

对2位数组操作如下:
int **a;
int i,m,n;
scanf("%d %d",&m,&n);
*a=(int **)malloc(m*sizeof(int *));
for (i=0;i<m;i++)
a[i]=(int *)malloc(n*sizeof(int));
这样就相当于C++的定义:
int m,n;
int a[m][n];
cin>>m>>n;

这个是告诉你怎样动态分配数组。。。然后你只需要给数组赋值。。循环就行了。。自己动手写吧。。

❽ C语言编程,求2个3×3矩阵对应元素之和,并存入矩阵C中,然后输出矩阵C

#include<stdio.h>

int main()
{
int a[3][3],b[3][3],c[3][3];
int i,j;
for(i=0; i<3; ++i)
for(j=0; j<3; ++j)
scanf("%d",&a[i][j]);

for(i=0; i<3; ++i)
for(j=0; j<3; ++j)
scanf("%d",&b[i][j]);

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

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

return 0;
}

❾ 用C语言求两个矩阵相应元素之和(矩阵行和列数使用符合常量)。

#include<stdio.h>
#include<malloc.h>
int main()
{
int m,n,i,j;
int **A,**B,**C;
printf("请输入矩阵的行和列:");
scanf("%d%d",&m,&n);

A=(int **)malloc(m*sizeof(int *)); /*动态开辟二位数组*/
for(i=0;i<m;i++)
A[i]=(int *)malloc(n*sizeof(int));

B=(int **)malloc(m*sizeof(int *));
for(i=0;i<m;i++)
B[i]=(int *)malloc(n*sizeof(int));

C=(int **)malloc(m*sizeof(int *));
for(i=0;i<m;i++)
C[i]=(int *)malloc(n*sizeof(int));

printf("请输入A矩阵的内容%d行%d列:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&A[i][j]);

printf("请输入B矩阵的内容%d行%d列:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&B[i][j]);
for(i=0;i<m;i++) /*对两矩阵求和*/
{
for(j=0;j<n;j++)
{
C[i][j]=A[i][j]+B[i][j];
}
}
printf("求和后C矩阵的内容为:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",C[i][j]);
}
printf("\n");
}
return 0;
}

❿ c语言求矩阵各行元素之和

先用数组去存储矩阵里面的各个元素,然后获取数组的行数与列数,最后遍历数组中的值,累加以后可求得各行元素之和!