swust oj 74
题目描述
将两个给定的距阵(3*3)相乘得到另一个距阵并将其打印出来。
输入
输出
思路
(1)明白矩阵相乘的定义(不会的,可以自己搜索一下)
(2)初步代码
#include<stdio.h>
int main()
{
int a[3][3],b[3][3],c[3][3]={0};
int line,list,s;
for(line=0;line<3;line++)
for(list=0;list<3;list++)
for(s=0;s<3;s++)
c[line][s]+=a[line][list]*b[list][s];
return 0;
}
(3)明白题目的要求是需要自己输入数字,即需要scanf()语句,由此可知需要利用嵌套语句,用两个for语句输入一个二维数组,同时输出时也要用for语句。
(4)因为要求矩阵每相邻两个数之间有空格,所以输出的时候在%d后面打一个空格。
样例输入
样例输出
源代码
#include<stdio.h>
int main()
{
int a[3][3],b[3][3],c[3][3]={0};
int line,list,s;
for(line=0;line<3;line++)
{
for(list=0;list<3;list++)
{
scanf("%d",&a[line][list]);
}
}
for(line=0;line<3;line++)
{
for(list=0;list<3;list++)
{
scanf("%d",&b[line][list]);
}
}
for(line=0;line<3;line++)
{
for(list=0;list<3;list++)
{
for(s=0;s<3;s++)
{
c[line][s]+=a[line][list]*b[list][s];
}
}
}
for(line=0;line<3;line++)
{
for(list=0;list<3;list++)
{
printf("%d ",c[line][list]);
}
printf("\n");
}
return 0;
}