这个c++程序怎么输入?

来源:百度知道 编辑:UC知道 时间:2024/06/16 02:57:01
#include "stdio.h"
void main()
{
int a[100][100],b[100][100],c[100][100];
int n,m,p,i,j,k;
printf("input valve of n,m,p\n");
scanf("%d %d %d",&n,&m,&p);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
for(i=0;i<m;i++)
for(j=0;j<p;j++)
scanf("%d",&b[i][j]);
for(i=0;i<n;i++)
{
for(j=0;j<p;j++)
{c[i][j]=0;
for(k=0;k<m;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
printf("%d",c[i][j]);
}
这个程序运行时不知道该输入什么了?(程序还是没太明白)
printf("\n");
}
}

这是两个矩阵相乘程序。
a阵 n行 m列
b阵 m行 p列
(只有这样的矩阵才能相乘,相乘结果是 n行p列)。

输入1:
scanf("%d %d %d",&n,&m,&p); a阵的行,a阵的列,b阵的列.

输入2:
a阵的元素。次序:
第一行的,第一列,第二列,第三列....第m列
第二行的,第一列,第二列,第三列....第m列
...
第n行的,第一列,第二列,第三列....第m列

输入3:
b阵的元素。次序:
第一行的,第一列,第二列,第三列....第p列
第二行的,第一列,第二列,第三列....第p列
...
第m行的,第一列,第二列,第三列....第p列