实验七

问题 B: 实验7_1:二维数组输入输出

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     char str[30][31];
 6 
 7     int i = 0, j;
 8     while(gets(str[i]) != NULL)
 9         i++;
10     for(i--; i >= 0; i--){
11         for(j = strlen(str[i]) - 1; j >= 0; j--)
12             putchar(str[i][j]);
13         putchar('\n');
14     }
15 
16     return 0;
17 }

 

问题 E: 实验7_4:判断数组是否对称

 1 #include <stdio.h>
 2 
 3 int sym(int mat[][101], int m, int n)
 4 {
 5     int i, j;
 6     if(m != n)
 7         return 0;
 8     for(i = 0; i < m; i++)
 9         for(j = 0; j < i; j++)
10         {
11             if(mat[i][j] != mat[j][i])
12                 return 0;
13         }
14     return 1;
15 }
16 
17 int main()
18 {
19     int mat[101][101];
20     int i, j, n;
21     int M, N;
22     scanf("%d", &n);
23     while(n--)
24     {
25         scanf("%d,%d", &M, &N);
26         for(i = 0; i < M; i++)
27             for(j = 0; j < N; j++)
28                 scanf("%d", &mat[i][j]);
29         puts(sym(mat, M, N) ? "Yes" : "No");
30     }
31     return 0;
32 }

 

问题 G: 矩阵转置

 

 1 #include <stdio.h>
 2 int main(void)
 3 {
 4    int i, j, n, mat[100][100];
 5    scanf("%d", &n);
 6    for(i = 0; i < n; i++)
 7       for(j = 0; j < n; j++)
 8          scanf("%d", &mat[i][j]);
 9    for(i = 0; i < n; i++)
10       for(j = 0; j < n; j++)
11          printf("%d%c", mat[j][i], j == n - 1 ? '\n' : ' ');
12    return 0;
13 }

 

#include <stdio.h>

void transpose(int mat[][100], int n)
{
   int i, j;
   for(i = 0; i < n; i++)
      for(j = 0; j < i; j++) {
         int t;
         t = mat[i][j];
         mat[i][j] = mat[j][i];
         mat[j][i] = t;
      }
}
int main(void)
{
   int i, j, n, mat[100][100];
   scanf("%d", &n);
   for(i = 0; i < n; i++)
      for(j = 0; j < n; j++)
         scanf("%d", &mat[i][j]);
   transpose(mat, n);

   for(i = 0; i < n; i++)
      for(j = 0; j < n; j++)
         printf("%d%c", mat[i][j], j == n - 1 ? '\n' : ' ');
   return 0;
}

 

你可能感兴趣的:(实验七)