C语言实现)IDE:dev c++
关键字:二维数组 循环 矩阵
#include <stdio.h>
#define Max 10
int main(){
int order,power;
scanf("%d%d",&order,&power); //手动输入矩阵阶数与幂数
void Matrix_Multiplication(int order,int power);
Matrix_Multiplication(order,power);
return 0;
}
void Matrix_Multiplication(int order,int power){
int Martrix[Max][Max]={0};
int Temp_Martrix[Max][Max]={0}; //临时矩阵用于存储的矩阵
int Answer_Martrix[Max][Max]={0};
int i,j,k,m; //控制循环变量
for(i=0;i<order;i++)
for(j=0;j<order;j++)
scanf("%d",&Martrix[i][j]); //输入矩阵值
for(i=0;i<order;i++)
for(j=0;j<order;j++)
Temp_Martrix[i][j]= Martrix[i][j]; //拷贝原矩阵
for(m=0;m < power-1;m++)
{
for(i=0;i<order;i++){
for(j=0;j<order;j++){
for(k=0;k<order;k++){
Answer_Martrix[i][j] += Temp_Martrix[k][j]*Martrix[i][k];}}}
for(i=0;i<order;i++)
for(j=0;j<order;j++)
Temp_Martrix[i][j]=Answer_Martrix[i][j];
for(i=0;i<order;i++)
for(j=0;j<order;j++)
Answer_Martrix[i][j]=0;
}
for(i=0;i<order;i++)
for(j=0;j<order;j++)
Answer_Martrix[i][j]=Temp_Martrix[i][j];
for(i=0;i<order;i++){
for(j=0;j<order;j++)
printf("%d ",Answer_Martrix[i][j]);
printf("\n");
}
}
如果这段代码对您有帮助,希望您可以给猿猿一个赞,谢谢您嘞,code不易,且看且珍惜。