两个矩阵的相加相乘?用c语言的指针方式!急在线等

如题所述

#include "stdio.h"
#include "stdlib.h"

#define M 3
#define N 3
//指针数组
int a[M][N];
int b[M][N];
int c[M][N];

void matrixMul(int b[][M],int c[][N]);
void matrixAdd(int b[][N],int c[][N]);
void matrixSub(int b[][N],int c[][N]);

int main()
{
int i,j,temp=0;
printf("Please input int matrix b[%d][%d]\n",M,N);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
scanf("%d",&temp);
b[i][j]=temp;
}
printf("Please input int matrix c[%d][%d]\n",M,N);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",&temp);
c[i][j]=temp;
}
}

//输出原矩阵
printf("Now print resource matrix b[%d][%d]=",M,N);
for(i=0;i<M;i++){
printf("\n");
for(j=0;j<N;j++)
printf("%d ",b[i][j]);
}
printf("\n");
printf("Now print resource matrix c[%d][%d]=",M,N);
for(i=0;i<M;i++){
printf("\n");
for(j=0;j<N;j++)
printf("%d ",c[i][j]);
}

if (M == N)
{
matrixMul(b,c); //调用矩阵相乘
//输出矩阵相乘结果
printf("\n");
printf("Now printm matrixMul results matrix a[%d][%d]=B*C:",M,N);
for(i=0;i<M;i++)
{
printf("\n");
for(j=0;j<N;j++)
printf("%d ",a[i][j]);
}
}
else
{
printf("matrix Error,check and try again!!! ");
}
//输出矩阵相加结果
matrixAdd(b,c);
printf("\n");
printf("Now printm matrixAdd results matrix a[%d][%d]=B+C:",M,N);
for(i=0;i<M;i++)
{
printf("\n");
for(j=0;j<N;j++)
printf("%d ",a[i][j]);
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答