输入一个 m*n的矩阵 和一个n*p的矩阵,要求打印出两个矩阵的乘积。
代码如下:
public class Test {
public static void main(String[] args) {
System.out.println("请输入m行n列以及n行p列的矩阵:");
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();//输入m
int n=sc.nextInt();//输入n
int p=sc.nextInt();//输入P
int array[][]=new int[m][n];//矩阵为m行p列 array
int array1[][]=new int[n][p];//矩阵为n行p列 array1
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
array[i][j]=sc.nextInt();//向矩阵array输入对应的元素
System.out.print(array[i][j]+" ");//此处可注释
}System.out.println();
}
for(int i=0;i<n;i++){
for(int j=0;j<p;j++){
array1[i][j]=sc.nextInt();//向矩阵array1输入对应的元素
System.out.println(array1[i][j]+" ");//此处可注释
}System.out.println();
}
int [][]c =new int[m][p];//创建一个新的矩阵c用于存放之后的乘积
for(int i=0;i<m;i++){//矩阵c有i行
for(int j=0;j<p;j++){//矩阵c有j列
for(int k=0;k<n;k++){//矩阵a的列
c[i][j]+=array[i][k]*array1[k][j];//向矩阵c中传递元素
}
}
}
mul(c);//调用mul方法
}
public static void mul(int[][]c) {//遍历输出
int m=c.length;
int p=c[0].length;
for(int i=0;i<m;i++){
for(int j=0;j<p;j++){
System.out.print(c[i][j]+" ");
}
System.out.println();
}
}
}
版权声明:本文为resulet原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。