久久99热66热这里只有精品,特黄特色的大片在线观看,亚洲日本三级在线观看,国产三级农村妇女在线,亚洲av毛片免费在线观看,哺乳叫自慰在线看,天天干美女av网

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

時間:2024-07-10 09:12:50 資料大全 我要投稿
  • 相關(guān)推薦

編寫一個程序:輸入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):第一個元素的坐標(biāo)

  * start:第一個元素的值

  * n:矩陣的大小

  */

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

  int i, j;

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

  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矩陣】相關(guān)文章:

工程師的N種性格08-27

關(guān)于l跟n的繞口令08-21

求職不可不知的N個禮儀細節(jié)07-22

面試技巧;面試前需考慮的N個問題10-17

h7n9禽流感防治常識大全10-23

h7n9禽流感防治小常識08-06

H7N9型禽流感常識及預(yù)防措施09-12

高中數(shù)學(xué)《等差數(shù)列前n項和的公式》說課稿10-07

不是朝九晚五而是朝九晚N 三成上班族是拖班族10-26

導(dǎo)游詞編寫的技巧06-01