<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            編寫一個程序:輸入N,打印N*N矩陣

            時間:2020-11-22 10:12:53 筆試題目 我要投稿

            編寫一個程序:輸入N,打印N*N矩陣

              比如 N = 3,打印:

              1 2 3

              8 9 4

              7 6 5

              N = 4,打印:

              1 2 3 4

              12 13 14 5

              11 16 15 6

              10 9 8 7

              1 #define N 15

              int s[N][N];

              void main()

              {

              int k = 0, i = 0, j = 0;

              int a = 1;

              for( ; k < (N+1)/2; k++ )

              {

              while( j < N-k ) s[i][j++] = a++; i++; j--;

              while( i < N-k ) s[i++][j] = a++; i--; j--;

              while( j > k-1 ) s[i][j--] = a++; i–; j++;

              while( i > k ) s[i--][j] = a++; i++; j++;

              }

              for( i = 0; i < N; i++ )

              {

              for( j = 0; j < N; j++ )

              cout << s[i][j] << '\t';

              cout << endl;

              }

              }

              2 define MAX_N 100

              int matrix[MAX_N][MAX_N];

              /*

              *(x,y):第一個元素的.坐標

              * start:第一個元素的值

              * n:矩陣的大小

              */

              void SetMatrix(int x, int y, int start, int n) {

              int i, j;

              if (n <= 0) //遞歸結束條件

              return;

              if (n == 1) { //矩陣大小為1時

              matrix[x][y] = start;

              return;

              }

              for (i = x; i < x + n-1; i++) //矩陣上部

              matrix[y][i] = start++;

              for (j = y; j < y + n-1; j++) //右部

              matrix[j][x+n-1] = start++;

              for (i = x+n-1; i > x; i–) //底部

              matrix[y+n-1][i] = start++;

              for (j = y+n-1; j > y; j–) //左部

              matrix[j][x] = start++;

              SetMatrix(x+1, y+1, start, n-2); //遞歸

              }

              void main() {

              int i, j;

              int n;

              scanf(“%d”, &n);

              SetMatrix(0, 0, 1, n);

              //打印螺旋矩陣

              for(i = 0; i < n; i++) {

              for (j = 0; j < n; j++)

              printf(“%4d”, matrix[i][j]);

              printf(“\n”);

              }

              }

            【編寫一個程序:輸入N,打印N*N矩陣】相關文章:

            日語N4N5基礎詞匯10-27

            如何備考日語能力N2、N1考試08-25

            如何高效備考N1N2日語能力考08-25

            學習日語等級考試如何備考N4和N508-23

            日語能力測試N1N2文法練習匯總08-21

            日語能力考N1N2詞匯語法臨考復習要點08-20

            日語N2語法復習08-27

            家n次方經典臺詞11-23

            2017年日語N5~N3文法詳解11-14

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看