问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-28 12:08

我来回答

5个回答

热心网友 时间:2023-10-08 22:53

用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=\n");

printMatirx(A,3,4);

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

{0,9,6,1},

{5,7,2,6}};

printf("矩阵B=\n");

printMatirx(B,3,4);

int C[3][4]; 

int i,j;

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

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

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

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("\n");

}

int (*p)[COLS]=C;

printMatirx2(p,3);

/*结果应为:

19 13 14 14

18 23 14  8

21 20  8 17

*/

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

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

{

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

{

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

}

printf("\n");

}

/*结果应为:

4  3  5  2

0  9  6  1

5  7  2  6

*/

//矩阵数乘:

int D[3][4];

printf("矩阵D:\n");

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

{

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

{

D[i][j]=1;

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

}

printf("\n");

}

int mul;

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

scanf("%d",&mul);

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

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

{

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

{

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

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

}

printf("\n");

}

return 0;

}

扩展资料:

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语言

热心网友 时间:2023-10-08 22:53

用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=\n");

printMatirx(A,3,4);

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

{0,9,6,1},

{5,7,2,6}};

printf("矩阵B=\n");

printMatirx(B,3,4);

int C[3][4]; 

int i,j;

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

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

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

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("\n");

}

int (*p)[COLS]=C;

printMatirx2(p,3);

/*结果应为:

19 13 14 14

18 23 14  8

21 20  8 17

*/

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

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

{

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

{

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

}

printf("\n");

}

/*结果应为:

4  3  5  2

0  9  6  1

5  7  2  6

*/

//矩阵数乘:

int D[3][4];

printf("矩阵D:\n");

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

{

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

{

D[i][j]=1;

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

}

printf("\n");

}

int mul;

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

scanf("%d",&mul);

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

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

{

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

{

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

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

}

printf("\n");

}

return 0;

}

扩展资料:

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语言

热心网友 时间:2023-10-08 22:53

用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=\n");

printMatirx(A,3,4);

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

{0,9,6,1},

{5,7,2,6}};

printf("矩阵B=\n");

printMatirx(B,3,4);

int C[3][4]; 

int i,j;

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

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

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

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("\n");

}

int (*p)[COLS]=C;

printMatirx2(p,3);

/*结果应为:

19 13 14 14

18 23 14  8

21 20  8 17

*/

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

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

{

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

{

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

}

printf("\n");

}

/*结果应为:

4  3  5  2

0  9  6  1

5  7  2  6

*/

//矩阵数乘:

int D[3][4];

printf("矩阵D:\n");

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

{

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

{

D[i][j]=1;

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

}

printf("\n");

}

int mul;

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

scanf("%d",&mul);

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

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

{

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

{

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

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

}

printf("\n");

}

return 0;

}

扩展资料:

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语言

热心网友 时间:2023-10-08 22:54

#include <stdio.h>
void main()
{
int a[3][3];
int b[3][3];
int c[3][3];
int *p1,*p2,*p3;
p1=&a[0][0];
p2=&b[0][0];
p3=&c[0][0];
int i,k;

printf ("请输入第一个矩阵的值:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("请输入第[%d][%d]",i,k);
scanf ("%d",&a[i][k]);
}
}

printf ("请输入第二个矩阵的值:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("请输入第[%d][%d]",i,k);
scanf ("%d",&b[i][k]);
}
}

printf ("第一个矩阵为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",(a[i][k]));

}
printf ("\n");
}
printf ("第二个矩阵为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",b[i][k]);
}
printf ("\n");
}

for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
*p3=*p1+*p2;
p1++;
p2++;
p3++;
}
}
printf ("\n两个矩阵相加后为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",c[i][k]);
}
printf ("\n");
}

}

热心网友 时间:2023-10-08 22:54

#include <stdio.h>
void main()
{
int i,j;
int a[3][3],b[3][3],c[3][3]
for(i=0;i<3;i++)//给a[3][3]赋值
{
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
}

for(i=0;i<3;i++)//给b[3][3]赋值
{
{
for(j=0;j<3;j++)
scanf("%d",&b[i][j]);
}
}

for(i=0;i<3;i++)//a[3][3]与b[3][3]相加
{
for(j=0;j<3;j++)
{
c[i][j]=a[i][j]+b[i][j];//值赋给c[3][3]
}
}

for(i=0;i<3;i++)//循环打印出c[3][3]的值
{
for(j=0;j<3;j++)
printf("c[%d][%d]=%d\n",i,j,c[i][j]);
}
}

热心网友 时间:2023-10-08 22:54

#include <stdio.h>
void main()
{
int a[3][3];
int b[3][3];
int c[3][3];
int *p1,*p2,*p3;
p1=&a[0][0];
p2=&b[0][0];
p3=&c[0][0];
int i,k;

printf ("请输入第一个矩阵的值:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("请输入第[%d][%d]",i,k);
scanf ("%d",&a[i][k]);
}
}

printf ("请输入第二个矩阵的值:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("请输入第[%d][%d]",i,k);
scanf ("%d",&b[i][k]);
}
}

printf ("第一个矩阵为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",(a[i][k]));

}
printf ("\n");
}
printf ("第二个矩阵为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",b[i][k]);
}
printf ("\n");
}

for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
*p3=*p1+*p2;
p1++;
p2++;
p3++;
}
}
printf ("\n两个矩阵相加后为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",c[i][k]);
}
printf ("\n");
}

}

热心网友 时间:2023-10-08 22:54

#include <stdio.h>
void main()
{
int a[3][3];
int b[3][3];
int c[3][3];
int *p1,*p2,*p3;
p1=&a[0][0];
p2=&b[0][0];
p3=&c[0][0];
int i,k;

printf ("请输入第一个矩阵的值:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("请输入第[%d][%d]",i,k);
scanf ("%d",&a[i][k]);
}
}

printf ("请输入第二个矩阵的值:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("请输入第[%d][%d]",i,k);
scanf ("%d",&b[i][k]);
}
}

printf ("第一个矩阵为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",(a[i][k]));

}
printf ("\n");
}
printf ("第二个矩阵为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",b[i][k]);
}
printf ("\n");
}

for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
*p3=*p1+*p2;
p1++;
p2++;
p3++;
}
}
printf ("\n两个矩阵相加后为:\n");
for (i=0;i<3;i++)
{
for (k=0;k<3;k++)
{
printf ("%4d",c[i][k]);
}
printf ("\n");
}

}

热心网友 时间:2023-10-08 22:55

第二个int最后要加;

热心网友 时间:2023-10-08 22:54

#include <stdio.h>
void main()
{
int i,j;
int a[3][3],b[3][3],c[3][3]
for(i=0;i<3;i++)//给a[3][3]赋值
{
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
}

for(i=0;i<3;i++)//给b[3][3]赋值
{
{
for(j=0;j<3;j++)
scanf("%d",&b[i][j]);
}
}

for(i=0;i<3;i++)//a[3][3]与b[3][3]相加
{
for(j=0;j<3;j++)
{
c[i][j]=a[i][j]+b[i][j];//值赋给c[3][3]
}
}

for(i=0;i<3;i++)//循环打印出c[3][3]的值
{
for(j=0;j<3;j++)
printf("c[%d][%d]=%d\n",i,j,c[i][j]);
}
}

热心网友 时间:2023-10-08 22:54

#include <stdio.h>
void main()
{
int i,j;
int a[3][3],b[3][3],c[3][3]
for(i=0;i<3;i++)//给a[3][3]赋值
{
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
}

for(i=0;i<3;i++)//给b[3][3]赋值
{
{
for(j=0;j<3;j++)
scanf("%d",&b[i][j]);
}
}

for(i=0;i<3;i++)//a[3][3]与b[3][3]相加
{
for(j=0;j<3;j++)
{
c[i][j]=a[i][j]+b[i][j];//值赋给c[3][3]
}
}

for(i=0;i<3;i++)//循环打印出c[3][3]的值
{
for(j=0;j<3;j++)
printf("c[%d][%d]=%d\n",i,j,c[i][j]);
}
}

热心网友 时间:2023-10-08 22:55

第二个int最后要加;

热心网友 时间:2023-10-08 22:56

这个月就有可能出现问题是我们

热心网友 时间:2023-10-08 22:55

第二个int最后要加;

热心网友 时间:2023-10-08 22:56

这个月就有可能出现问题是我们

热心网友 时间:2023-10-08 22:56

这个月就有可能出现问题是我们
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
河北专接本和专升本有什么区别 专接本公办学校艺术类有哪些 大学录取通知书上写的艺术设计(平面设计),然后报的订单班学的ui设计... 专接本和直本就业有什么区别 统招专升本可以跨省报名吗 veze6投影仪参数 微型投影机微型投影机技术分类 LED微型投影机技术指标,主要技术,技术优劣介绍 VMAI微麦V200家用便携式投影机推荐 L-mix P12基础版迷你便携投影机红色推荐 急!!!C语言大数加法 用C语言怎样编小学的加减乘除(代码) 怎样用c语言编大整数加法的程序 大整数加法 C语言 求代码 要求如下 c语言加法运算,要详细步骤 求C语言简单的加法求和程序代码~~ 1-100C语言加法程序 求一个简单的C语言加法程序代码!很急啊! 求一个简单的C语言加法运算代码 要求 可以输入&#39;+&#39; 谢谢了 加法c语言源代码 C语言怎么进行加法计算?给个简单的程序来 用C语言写一个加法运算的代码怎么写? 简单的C语言加法程序代码都有什么? 乔丹告“乔丹”一审判决,最终判决结果如何? aj1黑红脚趾商标uk部分什么样子的,我的uk下面的数字为什么是5 .5这样的,分的很开 我的aj1的商标是真的吗 这种内商标有吗aj1? 我的aj1黑红脚趾的商标是真的吗? aj1叛逆得物上要中签吗 aj1鞋舌上的标有这样没有商标圈r的吗 求两个数相加的c语言程序 任意长的整数加法 用c语言编写的程序 唐三藏取经的歇后语 关于西天取经 的歇后语 唐僧西天取经,打一个歇后语 关于西游记唐僧的歇后语 西游记唐僧的歇后语 西游记歇后语唐僧取经 西游记歇后语…… “白骨精给唐僧送饭” 歇后语是什么 含有唐僧的经典歇后语 给妈妈买了新的手机怎么充电对电池比较耐用点啊? 腰膝酸痛怎么回事? 腰酸胀,是怎么回事? 腰痛腿酸怎么回事啊 老是腰酸腰胀怎么办? 腰部很容易酸胀痛怎么回事? 早晨起来腰膝酸软小腿肚子酸胀是什么原因? 这腰总是酸胀难受,还连带着腿有事会麻,是怎么回事? 腰膝酸软,怎么办 坐久了感觉腰和腿酸胀难受,有时候睡久一点也会腰痛,这是怎么回事?