雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

C語言解決螺旋矩陣算法問題的代碼示例

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊:

趕集網(wǎng)校招就采用了螺旋輸出矩陣作為程序題,要求將矩陣螺旋輸出如:

圖中6*6矩陣線條所示為輸出順序,如果輸出正確的話應(yīng)該輸出1~36有序數(shù)字。
 我想的是這么做的:

#include <stdio.h> 
 
//#define LEN 1 
//#define LEN 2 
//#define LEN 3 
#define LEN 4 
 
void printClock(int a[][LEN]){//輸出函數(shù) 
  int t; 
  int i = 0, m = 0; 
  int j = LEN, n = LEN; 
  while (i <= j || m <= n) 
  { 
    for (t = i; t < j; t++)//輸出第m行 
    { 
      printf("%d ", a[m][t]); 
    } 
    m++; 
    for (t = m; t < n; t++)//輸出第j列 
    { 
      printf("%d ", a[t][j - 1]); 
    } 
    j--; 
    for (t = j - 1; t >= i; t--)//輸出第n行 
    { 
      printf("%d ", a[n - 1][t]); 
    } 
    n--; 
    for (t = n - 1; t >= m; t--)//輸出第i列 
    { 
      printf("%d ", a[t][i]); 
    } 
    i++; 
  } 
  printf("\n"); 
} 
 
void main(){ 
  int a[][1] = {1}; 
  int b[][2] = {1,2, 
         4,3 
  }; 
  int c[][3] = {1,2,3, 
         8,9,4, 
         7,6,5 
  }; 
  int d[][4] = {1,2, 3, 4, 
         12,13,14,5, 
         11,16,15,6, 
         10, 9, 8,7 
  }; 
  int e[][6] = {  1, 2, 3, 4, 5, 6, 
          20,21,22,23,24, 7, 
          19,32,33,34,25, 8, 
          18,31,36,35,26, 9, 
          17,30,29,28,27,10, 
          16,15,14,13,12,11 
  }; 
  printClock(d); 
} 

 分別做向右輸出,向下輸出,向左輸出,向上輸出,然后就進(jìn)入一種循環(huán),直到輸出結(jié)束

上一篇:舉例講解C語言對歸并排序算法的基礎(chǔ)使用

欄    目:C語言

下一篇:直觀理解C語言中指向一位數(shù)組與二維數(shù)組的指針

本文標(biāo)題:C語言解決螺旋矩陣算法問題的代碼示例

本文地址:http://m.jygsgssxh.com/a1/Cyuyan/2333.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有