SWUST OJ #74矩陣相乘
阿新 • • 發佈:2021-01-11
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;
}