码迷,mamicode.com
首页 > 其他好文 > 详细

51NOD 1137 矩阵乘法

时间:2018-10-07 23:24:57      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:input   gray   大小   \n   scan   nod   ext   div   ems   

给出2个N * N的矩阵M1和M2,输出2个矩阵相乘后的结果。
 
Input
第1行:1个数N,表示矩阵的大小(2 <= N <= 100)
第2 - N + 1行,每行N个数,对应M1的1行(0 <= M1[i] <= 1000)
第N + 2 - 2N + 1行,每行N个数,对应M2的1行(0 <= M2[i] <= 1000)
Output
输出共N行,每行N个数,对应M1 * M2的结果的一行。
Input示例
2
1 0
0 1
0 1
1 0
Output示例
0 1
1 0
解:感觉这么写不太好,应该b也开成二维数组,c为变量,这样空间消耗一样,但更容易些。
 1 #include <stdio.h>
 2 
 3 #define CLR(x) memset(x,0,sizeof(x))
 4 
 5 int a[100][100], b, c[100][100];
 6 
 7 int main()
 8 {
 9     int n;
10     while (scanf_s("%d", &n) != EOF)
11     {
12         CLR(c);
13         for (int i = 0; i < n; i++)
14             for (int j = 0; j < n; j++) scanf_s("%d", &a[i][j]);    
15 
16         for (int i = 0; i < n; i++)
17             for (int j = 0; j < n; j++)
18             {
19                 scanf_s("%d", &b);
20                 for(int l = 0; l < n; l++) c[l][j] += a[l][i] * b;
21             }
22 
23         for (int i = 0; i < n; i++)
24         {
25             for (int j = 0; j < n - 1; j++) printf("%d ", c[i][j]);
26             printf("%d\n", c[i][n - 1]);
27         }
28     }
29 }

 

51NOD 1137 矩阵乘法

标签:input   gray   大小   \n   scan   nod   ext   div   ems   

原文地址:https://www.cnblogs.com/Ekalos-blog/p/9751831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!