对称矩阵的判定
Time Limit: 1000MS
Memory Limit: 65536KB
SubmitStatistic
Problem Description
输入矩阵的行数,再依次输入矩阵的每行元素,判断该矩阵是否为对称矩阵,若矩阵对称输出“yes",不对称输出”no“。
Input
输入有多组,每一组第一行输入一个正整数N(N<=20),表示矩阵的行数(若N=0,表示输入结束)。
下面依次输入N行数据。
Output
若矩阵对称输出“yes",不对称输出”no”。
Example Input
3 6 3 12 3 18 8 12 8 7 3 6 9 12 3 5 8 12 6 3 0
Example Output
yes no
第一次
01 | #include <stdio.h> |
02 | #include <stdlib.h> |
03 |
04 | int main() |
05 | { |
06 | int a[21][21], i, n, j, f1; |
07 | while ( scanf ( "%d" , &n) !=EOF&&n!=0) |
08 | { |
09 | f1 = 1; |
10 | for (i = 0; i< n; i++) |
11 | { |
12 | for (j = 0;j < n;j++) |
13 | { |
14 | scanf ( "%d" , &a[i][j]); |
15 | } |
16 | } |
17 | for (i = 0;i < n;i++) |
18 | { |
19 | for (j = 0; j< n; j++) |
20 | { |
21 | if (a[i][j] != a[j][i]) |
22 | { |
23 | f1 = 0; |
24 | break ; |
25 | } |
26 | } |
27 | } |
28 | if (f1) |
29 | { |
30 | printf ( "yes\n" ); |
31 | } |
32 | else |
33 | { |
34 | printf ( "no\n" ); |
35 | } |
36 | } |
37 | return 0; |
38 | } |
01 | #include <stdio.h> |
02 | #include <string.h> |
03 |
04 | int main() |
05 | { |
06 | int s[21][21], i, j, n, f1; |
07 | while ( scanf ( "%d" ,&n)!=EOF&&n!=0) |
08 | { |
09 | for (j = 0; j< n;j++) |
10 | { |
11 | for (i = 0;i<n;i++) |
12 | { |
13 | scanf ( "%d" , &s[j][i]); |
14 | } |
15 | } |
16 | for (i = 0;i<n;i++) |
17 | { |
18 | for (j = 0;j <= i;j++) |
19 | { |
20 | if (s[i][j]==s[j][i]) |
21 | { |
22 | f1 = 1; |
23 | } |
24 | else |
25 | { |
26 | f1 = 0; |
27 | break ; |
28 | } |
29 | } |
30 | } |
31 | if (f1==0) |
32 | printf ( "no\n" ); |
33 | else |
34 | printf ( "yes\n" ); |
35 | } |
36 | return 0; |
37 | } |