C语言编程:编写一个函数求两个矩阵的差

作者&投稿:察盲 (若有异议请与网页底部的电邮联系)
用C语言编写程序(两个矩阵相加)~

用C语言编写程序(两个矩阵相加)代码如下:
/**
MatrixAddition.c
实现两个矩阵相加
*/
#include
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;
}

扩展资料:
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语言

如果确定距阵的大小长度,定义两个二维数组,用两个for循环两数据输入到内存,是每两个for输入一个数组,然后定义另外一个数组,用来得到结果距阵,再用三个嵌套的for将结果放入第三个数组当中,即c[i][j]=a[i][k]+b[k][j],k是在第三重循环,这样就可以得到要求的距阵,如果不确定大小长度就在输入语句的每个for循环的辖区内加一个变量作为标记程序运行时求出距阵的大小

int function(double **p, int p_r,int p_c, double **q,int q_r, int q_c, double **re) {
int i,j;
if(p == NULL || q == NULL || p_r != q_r || p_c != q_c) {
re = NULL;
return 1;
}
if(p_r * p_c > 1024) {
re = NULL;
return 2;
}
for(i = 0; i < p_r; ++i)
for(j = 0; j < p_c; ++j)
re[i][j] = p[i][j] - q[i][j];
return 0;
}



用c语言编写一个计算器。
max = c;printf("三个数中最大的数为:%d",max);return 0;}

用c语言编写一个程序,输入10个数求平均值。
C语言:编写程序,输入10个学生的成绩数据,计算并输出平均分及低于平均分的学生的人数。&s[i]); sum+=s[i]; if(s[i]=60) j++; } printf(总分:%d 大于等于60的人数:%d\\n,sum,j); return 0;}运行截图:这个程序的人数不仅限于10人。可以通过改变N的值来控制。C语言:编写一个...

如何用C语言编程制作一个简易计算器?
1、打开CodeBlocks,新建一个空白文件,先定义头文件和主函数,接着写程序多大的主体:2、首先定义所需要的变量,将变量定义为浮点型,定义输入函数,将刚才的x和y定义为计算的变量,将c定义为选择计算方式的变量。用switch语句,将c作为选择变量,填写计算方式的选项,最后在主函数中输入一个输出函数来...

请用程序设计语言编写一个计算1~1000之间所有偶数和的程序?
1~1000之间所有偶数的和的程序代码如下:include <stdio.h> void main(){ int i,sum;for(i=2,sum=0;i<1001;i=i++)if(i%2==0){sum=sum+i;} printf("1~1000之间所有偶数的和:");printf("sum=%d",sum);} for循环语句由循环判定条件和循环体组成,它是C语言中使用最为灵活的循环...

如何用C语言编写一个程序?
include <stdio.h> int main(void){ float n, n2, n3;printf("请输入一个数\\n");scanf("%f",&n);printf("请再输入一个数\\n");scanf("%f",&n2);n3=n2+n;printf("这两个数的和是%.2f",n3);return 0;}

用c语言怎样编一个程序?
利用C语言编写一个求两数相加的和的编程思想和方法如下:1.首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。2.然后使用scanf()语句接收从键盘输入的两个数,为变量a,b赋值。3.接着进行a和b的加法运算,将结果赋值给变量c。4.最后使用printf()语句将计算结果显示在屏幕上...

怎样用C语言编一个两数相加的程序?
您可以使用C语言中的加法运算符(+)来编写一个两数相加的程序。以下是一个简单的示例程序:在上面的程序中,我们首先定义了三个变量:num1、num2和sum。num1和num2用于存储用户输入的两个数字,而sum用于存储这两个数字的和。接下来,我们使用printf函数提示用户输入两个数字,并使用scanf函数将用户...

编程一个c语言程序?
用选择结构实现分段函数的程序如下 include <stdio.h> int main(){ double x,y;scanf("%lf",&x);if(x>0)y=x-1;else if(x==0)y=0;else y=x+1;printf("%.2lf",y);return 0;}

如何用c语言编写一个三角形的面积计算程序?
程序通过scanf函数从用户输入中获取底边长和高,然后计算三角形的面积,并使用printf函数将结果输出到屏幕上。这里使用%.2lf格式控制符限制输出结果的小数点后两位。最后程序返回0,表示程序正常结束。C语言的作用:1、系统级编程:C语言被广泛用于开发操作系统、网络协议和嵌入式系统等底层软件。由于C语言...

JAVA编程题目,编写一个类.
分类: 电脑\/网络 >> 程序设计 >> 其他编程语言 问题描述:JAVA编程:编写一个类,该类封装了一元二次方程共有的属性和功能,即该类有刻画方程系数的3个成员变量以及计算实根的方法。要求:该类的所有对象共享常数项。解析:class Ercibv{ public float a;public float b;public float c;public ...

大足县13038208452: 用C语言写一个算法求两个矩阵的乘法运算. -
巧常吉赛: include<fstream>#include<iomanip>#include<iostream>#include<string> using namespace std; int main() { int row1,row2,col1,col2; cout<<"Please input the row and col of the first matrix: "<<endl; cin>>row1>>col1; cout<<endl; cout<<"Please ...

大足县13038208452: 用C语言写一个两个矩阵相乘的函数
巧常吉赛: matrix_mul(int**A,int**B,int**C,intm,intp,intn) { for(inti=0;i<m;i++) { for(intj=0;j<p;j++) { C[i][j]=0; for(intk=0;k<n;k++) { C[i][j]+=A[i][k]*B[k][j]; } } } }

大足县13038208452: 如何用C语言编写一个求两个矩阵相乘的结果 -
巧常吉赛: /* Matrix_main.cpp *///#include #include #include #include /* #include */ void main(void) { int col, row, row_s; /* the column & row of the matrix */ int **pM_f = NULL, **pM_s = NULL; /* point to two matrix,they will be multiplied */ int **pM_r = NULL; /* the...

大足县13038208452: 用c语言程序求两个矩阵相乘 -
巧常吉赛: int Q[N][N]; void Mul(int P1[N][N],int P2[N][N]) { int i,j,k; int sum; for(i=1;i<=n;i++){ for(j=1;j<=n;j++) { sum=0; for(k=1;k<=n;k++) sum+=P1[i][k]*P2[k][j]; Q[i][j]=sum; } } }

大足县13038208452: c语言程序设计答案 求两个矩阵的积 -
巧常吉赛: #include<stdio.h>#include<stdlib.h>/*malloc函数的函数头,如果这个函数头不行,可以试试malloc.h*/ int main(void) { int m,g,n; int i,j,k; printf("请输入第一个矩阵的行数和列数:\n"); scanf("%d%d",&m,&g); printf("请输入第二个矩阵...

大足县13038208452: 求两个矩阵相应元素之和.用C语言数组编程!!!!急求!!!谢谢! -
巧常吉赛: 是A|X1 X2 + B|Y1 Y2| = C|X1+Y1 X2+Y2|X3 X4| Y3 Y4 X3+Y3 X4+Y4是这种规则吗 #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("%...

大足县13038208452: 用C语言求两矩阵相乘最好能在我写的上面改 谢谢了 -
巧常吉赛: #include<stdio.h> int main() {int a[100][100],b[100][100],e[100][100],c,d,m,n,i,j,f; printf("输入第一个矩阵为多少行多少列"); scanf("%d,%d",&c,&d); printf("输入第二个矩阵为多少行多少列"); scanf("%d,%d",&m,&n); if(d!=m) printf(...

大足县13038208452: 编程求两矩阵的和与积 -
巧常吉赛: #include#define M 3 //M行M列 void main() { int a[M][M],b[M][M],c[M][M]; int i,j,k; printf("输入其中一个矩阵:\n"); for(i=0;i

大足县13038208452: c语言中随机生成两个矩阵,并求两个矩阵的乘积
巧常吉赛: 矩阵乘法:2*3矩阵a与3*2矩阵b相乘得到一个2*2矩阵c,其中:其中k表示矩阵a的列数和矩阵b的行数;故有如下代码:#include<stdio.h> int main(){ int a[2][3]={1,2,3,4,5,6}; int b[3][2]={4,2,3,0,1,7}; int c[2][2]={0}; int i,j,k; for(k=0;k<2;k++){ for(i=0;i<...

大足县13038208452: 编程实现求两个3x3矩阵的和(C语言) -
巧常吉赛: 你好,很高兴为你解答 #include <stdio.h> void main() { int i,j; static int a[3][3],b[3][3],c[3][3]; printf("Array a:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]);printf("Array b:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&b[i][j]);...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网