实现一个5X5矩阵乘法,并将输入输出结果显示出来

作者&投稿:示贞 (若有异议请与网页底部的电邮联系)
怎样用C语言编写一个程序,实现5乘以5矩阵乘法,并将输入输出结果显示出来啊?~

#include
#include
#define RA 5 /*矩阵A的行数*/
#define CA 5 /*矩阵A的列数*/
#define RB 5 /*矩阵B的行数*/
#define CB 5 /*矩阵B的列数*/

main()
{
int A[RA][CA];
int B[RB][CB];
int C[RA][CB];
int i,j,k;
printf("1");
/*随机生成矩阵A*/
randomize();
for(i=0;i<RA;i++)
{ for(j=0;j<CA;j++)
A[i][j]=random(20); }

/*随机生成矩阵B*/
randomize();
for(i=0;i<RB;i++)
{ for(j=0;j<CB;j++)
B[i][j]=random(20); }

/*输出矩阵A*/
printf("
Matrix A");
for(i=0;i<RA;i++){
printf("
");

for(j=0;j<CA;j++)
printf("%4d",A[i][j]);
printf("
");
}



/*输出矩阵B*/
printf("
Matrix B");
for(i=0;i<RB;i++){
printf("
");

for(j=0;j<CB;j++)
printf("%4d",B[i][j]);
printf("
");
}



/*两个矩阵相乘*/

for(i=0;i<=RA;i++)
for(j=0;j<CB;j++)
{
C[i][j]=0;
for(k=0;k<RA;k++)
C[i][j]+=A[i][k]*B[k][j];
}

/*输出结果矩阵*/
printf("
Matrix A*B
");
for(i=0;i<RA;i++){
printf("
");
for(j=0;j<CB;j++)
printf("%4d",C[i][j]);
printf("
");


} getch();
}




你也可以把随机生成矩阵改成你往矩阵里输数

矩阵
相乘
不妨记成
纵横相乘
课本
讲的是
m*n矩阵
可以

n*s矩阵相乘
我们
可以用
2*3

3*4
做例子
那么
就是
a
b
c
d
e
f
*
a
b
c
d
e
f
g
h
i
j
k
l
分别找到
各自相等的

列数
第一个三列
第二个三行
那么
就是
相等的遇上相等的
就是
行乘以列
第一个
第一行
乘以
第二个第一列
(这里的乘指的是交叉相乘
就是
aa+be+ci,其余类推)写成新矩阵的第一个元素
那么
依次
还可以

乘以
第二列
第三列
等等
写成
2
3
4
个元素
然后
换第二行
也可以按上述步骤。不过
第二行的
那么
就要写在新矩阵的第二行,依此类推即可
这样
得到的
新矩阵
就是
所谓的
2*4
矩阵

太简单了吧,要给分啊。
#include<stdio.h>

void main()
{
int a[5][5],b[5][5];
printf("输入a矩阵的元素:\n");
int i,j,k;
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
scanf("%d",*(a+i)+j);
printf("输入b矩阵的元素:\n");
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
scanf("%d",*(b+i)+j);
int c[5][5];
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
{
for(k=0;k<=4;k++)
{
c[i][j]+=a[i][k]*b[k][j];
}
printf("%d\t",c[i][j]);
}
}
我没空验程序结果,有结果错误就自己改改吧。

#include <stdio.h>
#define N 5
int main()
{
int i,j,k,A[N][N],B[N][N],C[N][N];
printf("请输入第一个5*5矩阵:\n");
for(i=0;i<N;i++)//输入
for(j=0;j<N;j++)
scanf("%d",&A[i][j]);
printf("\n");

printf("请输入第二个5*5矩阵:\n");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&B[i][j]);
printf("\n");

printf("输入的第一个矩阵是:\n");
for(i=0;i<N;i++)//输出
{
for(j=0;j<N;j++)
printf("%d\t",A[i][j]);
printf("\n");
}
printf("\n");

printf("输入的第二个矩阵是:\n");
for(i=0;i<N;i++)//输出
{
for(j=0;j<N;j++)
printf("%d\t",B[i][j]);
printf("\n");
}
printf("\n");

for(i=0;i<N;i++)//计算
{
for(j=0;j<N;j++)
{
C[i][j]=0;
for(k=0;k<N;k++)
{
C[i][j]+=A[i][k]*B[k][j];
}
}
}

printf("矩阵乘法的结果是:\n");
for(i=0;i<N;i++)//输出
{
for(j=0;j<N;j++)
printf("%d\t",C[i][j]);
printf("\n");
}

getch();
return 0;
}

太简单了吧,要给分啊。
#include
void
main()
{
int
a[5][5],b[5][5];
printf("输入a矩阵的元素:\n");
int
i,j,k;
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
scanf("%d",*(a+i)+j);
printf("输入b矩阵的元素:\n");
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
scanf("%d",*(b+i)+j);
int
c[5][5];
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
{
for(k=0;k<=4;k++)
{
c[i][j]+=a[i][k]*b[k][j];
}
printf("%d\t",c[i][j]);
}
}
我没空验程序结果,有结果错误就自己改改吧。

第一步平方差公式:
(x^2-5x+6)*(x^2-5x-6)
第二步
每一个乘积因子
进行因式分解:
(x+2)(x+3)
*(x+1)(x-5)

程序:
#include<stdio.h>
void main()
{
int a[5][5],b[5][5],c[5][5];
int i,j,k;
printf("输入5*5矩阵a:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);

printf("输入5*5矩阵b:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&b[i][j]);
printf("\n\n输出5*5矩阵a:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n输出5*5矩阵b:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d ",b[i][j]);
printf("\n");
}
printf("\n\n矩阵乘法:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
c[i][j]=0;
for(k=0;k<5;k++)
for(i=0;i<5;i++)
for(j=0;j<5;j++)
c[k][i]+=a[k][j]*b[j][i];

printf("\n\n两矩阵相乘的积为:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%d ",c[i][j]);
printf("\n");
}
}

结果:
输入5*5矩阵a:
1 2 3 4 5
4 5 6 7 8
7 8 9 4 5
1 2 3 4 5
4 8 6 3 4
输入5*5矩阵b:
7 8 9 4 5
1 2 3 4 5
5 6 4 2 3
8 5 4 6 5
1 4 5 3 8

输出5*5矩阵a:
1 2 3 4 5
4 5 6 7 8
7 8 9 4 5
1 2 3 4 5
4 8 6 3 4

输出5*5矩阵b:
7 8 9 4 5
1 2 3 4 5
5 6 4 2 3
8 5 4 6 5
1 4 5 3 8

矩阵乘法:

两矩阵相乘的积为:
61 70 68 57 84
127 145 143 114 162
139 166 164 117 162
61 70 68 57 84
94 115 116 90 125
Press any key to continue


C语言编程:一个5x5整数矩阵,对该矩阵打一个图形,元素为正打1,为负打0...
printf("\\nPlease input array:\\n");for (i = 0; i < 5; i++){ for (j =0; j < 5; j++){ scanf("%d", &aa[i][j]);} printf("\\n");} for (i = 0; i < 5; i++){ for (j =0; j < 5; j++){ if (aa[i][j] > 0){ printf("1");} else if(aa[...

用Matlab计算矩阵:已知5X5矩阵P,求解(E-P' )X'=0
0.1818 0.7273 0.0909 0 0 0.0500 0.1500 0.7500 0.0500 0 0 0.0667 0.2000 0.6667 0.0667 0 0 0.3333 0.3333 0.3333 >> E=eye(5)E = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0...

...对5x5矩阵的下半三角形各元素中的值乘以2,要求数组a的每行每列...
printf("原始矩阵:\\n");for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { a[i][j] = rand() % 10 \/\/ 生成0~9之间的随机数 printf("%d ", a[i][j]);} printf("\\n");} \/\/ 下半三角形各元素中的值乘以2 for (int i = 1; i < 5; i...

playfair密码解密
Playfair密码解密算法的首要步骤是通过构建一个5x5的矩阵来处理密钥,这个矩阵需排除重复的字母以及字母Z。如果矩阵中有空余位置,剩余的字母将按顺序填充。解密过程基于这个替换矩阵,它将密文转换为明文。解密规则如下:当密文字符c1和c2位于同一行时,对应的明文字符p1和p2是c1和c2左侧的字母。需要注意的...

5×5等于几
由此得出5x5等于5加5加5加5加5等于25。乘法是基本的数学运算之一,用于求两个数的积。它是加法运算的一种扩展,表示将一个数重复加上另一个数的结果。乘法也可以应用于分数和小数的乘法、矩阵乘法、复数乘法等领域。在现实生活中,乘法在测量、计算面积或体积等方面也有广泛的应用。

c语言输出5乘5阶的矩阵,求两条对角线上行列下标为偶数各元素之积_百...
include <stdio.h>int main(){ int a[5][5], i,j; long m = 1; printf( "输入5x5矩阵:" ); for( i=0; i<5; i++ ) for( j=0; j<5; j++ ) scanf( "%d", &a[i][j] ); fflush( stdin ); for( i=0;i<5;i++) { if ( i%2...

用分块矩阵的乘法运算,计算下列矩阵的乘积AB
先拆为子块,按矩阵乘法定义计算出分块乘积矩阵。再求子块矩阵的乘积,把结果代入分块矩阵乘积矩阵,得到5x5阶的乘积矩阵AB

用C++编一个程序 要求输入一个5x5矩阵各元素的值,求出2条对角线元素值...
int i, j ;int sum=0;int x[5][5] ;for(i=0 ; i<5 ; i++){ for(j=0 ; j<5 ; j<5)cin >> x[i][j] ;} for(i=0 ; i<5 ; i++){ for(j=0 ; j<5 ; j<5)if(i == j)sum += x[i][j] ;}

用c语言求一个5x5整型矩阵下三角元素之和
求下三角所有元素的和,肯定要走一遍下三角的所有元素,把所有元素的值加到一个变量里。我们假设row表示当前行,col表示当前列。sum表示当前的元素之和。对于第1行,我们需要遍历1个元素。对于第2行,我们需要遍历2个元素。。。对于第5行,我们需要遍历5个元素。所以,大致的代码应该长这个样纸:int ...

一个3*3的矩阵变到全零矩阵
回答:结论是肯定的. 首先容易验证p操作具有交换律和结合律, 并且p(i,j)^2=e (e为恒等变换, 即两次相同的操作互相抵消), 所以只需要反过来验证从全零出发经过不超过9次无重复的p操作(一共512种, 把它们称为基本操作)可以取遍所有512种状态即可. 如果不能取遍512种状态, 那么至少有两种基本操作U...

廊坊市13543139475: 怎样用C语言编写一个程序,实现5乘以5矩阵乘法,并将输入输出结果显示出来啊? -
太鲍百虑: #include<stdio.h> #include<stdlib.h> #define RA 5 /*矩阵A的行数*/ #define CA 5 /*矩阵A的列数*/ #define RB 5 /*矩阵B的行数*/ #define CB 5 /*矩阵B的列数*/main() {int A[RA][CA];int B[RB][CB];int C[RA][CB];int i,j,k;printf("1");/*随机生...

廊坊市13543139475: C语言5*5的矩阵乘法 -
太鲍百虑: #include void main() { int a[5][5],b[5][5]; printf("输入a矩阵的元素:\n"); int i,j,k; for(i=0;i for(j=0;j scanf("%d",*(a+i)+j); printf("输入b矩阵的元素:\n"); for(i=0;i for(j=0;j scanf("%d",*(b+i)+j); int c[5][5]; for(i=0;i for(j=0;j { for(k=0;k { c[i][j]+=a[i][k]*b[k][j]; } printf("%d\t",c[i][j]); } }

廊坊市13543139475: c语言编程.两个5*5矩阵相乘 -
太鲍百虑: #include "stdio.h" const int MAX=5; void multi(int a[MAX][MAX],int b[MAX][MAX],int c[MAX][MAX]) { int i,j,k; for(i=0;i for(i=0;i { for(j=0;j { for(k=0;k { c[i][j]+=a[i][k]*b[k][j]; } } } } void out(int x[MAX][MAX],int n)//输入矩阵 { int i,j; for(i=0;i { for(j=0;j printf("...

廊坊市13543139475: 输入一个5X5的矩阵,编程实现: -
太鲍百虑: 设矩阵存在二维数组 A 上,维度 N=5#define N 5int i; float A[N][N], sum1, sum2;/* 求对角线元素和 */ sum1 = 0.0; for (i=0; i<N; i++) {sum1 += A[i][i]; }第二个问我不知有没有理解错,是不是要求对角线上的下标为偶数的元素之和?如果是,...

廊坊市13543139475: C语言中怎样求两个5*5矩阵的乘积,并把计算乘积存入另一个后再呈现出来 -
太鲍百虑: double A[5][5],B[5][5],C[5][5]; //C[5][5]=A[5][5]xB[5][5] void matrixABC(double A[5][5],double B[5][5],double C[5][5]) { int i, j, k; for(i=0;i { for(j=0;j { C[i][j]=0; for(k=0;k } } }

廊坊市13543139475: 输入5X5阶的矩阵,编程实现: (1)求两条对角线上的各元素之和. (2)求两条对角线上行、列下标均为偶数 -
太鲍百虑: #include"stdafx.h" #include<iostream> using namespace std; int main(int argc,char*argv[]) { cout<<"请输入一个5*5的矩阵:"<<endl; int a[5][5],m,n; for(m=0;m<5;m++)//输入数据 { for(n=0;n<5;n++) { cin>>a[m][n]; } } int rightHe=0,leftHe=0,...

廊坊市13543139475: 输入一个5*5的矩阵,输出该矩阵并将该矩阵转置后再输出 -
太鲍百虑: #include<iostream> #include<windows.h> using namespace std; void Init(int a[][5], int n) { int i,j; for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]); } void Trans(int a[][5], int n) { int i,j,tmp; for(i=0;i<n;i++) { for(j=0;j<=i;j++) { tmp=a[i][j]; a[i][j]=a[j][i]; a[j][i]...

廊坊市13543139475: 求c语言编程:输入一个5行5列的矩阵,计算该矩阵最外圈元素之和. -
太鲍百虑: 完整代码,有问题再问#include <stdio.h> void main() { int a[5][5]; int i,j,sum=0; printf("请输入5*5数组\n"); for(i=0;i<5;i++) { for(j=0;j<5;j++) {printf("a[%d][%d]=",i,j);scanf("%d",&a[i][j]); } } printf("您输入的数组为\n"); for(i=0;i<5;i++) {...

廊坊市13543139475: Excel 2007 矩阵相乘怎么计算? -
太鲍百虑: 用矩阵运算函数:MMULT(array1,array2),array1和array2分别代表5*5)和(5*1)数据区域,输入完成后,按Ctrl+Shift+Enter

廊坊市13543139475: 输入5*5的矩阵,编程实现分别求两对角线上的各元素之和 -
太鲍百虑: 我是 用一个.m文件来实现的, 第一,建立一个m文件,并把以下代码拷贝过去,然后保存名为juzhen.m的文件 function juzhen() a=input('请输入一个矩阵:') %%%用键盘输入一个方阵,随便一个方阵,几阶的都可以,但是要注意矩阵的“行...

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