中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

成都區(qū)塊鏈網(wǎng)站開發(fā)競價外包推廣專業(yè)公司

成都區(qū)塊鏈網(wǎng)站開發(fā),競價外包推廣專業(yè)公司,深圳網(wǎng)站建設(shè)網(wǎng)頁制作,西部數(shù)碼網(wǎng)站管理助手 綁定域名題目描述 給出一個不大于 9 9 9 的正整數(shù) n n n,輸出 n n n\times n nn 的蛇形方陣。 從左上角填上 1 1 1 開始,順時針方向依次填入數(shù)字,如同樣例所示。注意每個數(shù)字有都會占用 3 3 3 個字符,前面使用空格補齊。 輸入格式…

題目描述

給出一個不大于 9 9 9 的正整數(shù) n n n,輸出 n × n n\times n n×n
的蛇形方陣。

從左上角填上 1 1 1 開始,順時針方向依次填入數(shù)字,如同樣例所示。注意每個數(shù)字有都會占用 3 3 3 個字符,前面使用空格補齊。

輸入格式

輸入一個正整數(shù) n n n,含義如題所述。

輸出格式

輸出符合題目要求的蛇形矩陣。

樣例 #1

樣例輸入 #1

4

樣例輸出 #1

  1  2  3  412 13 14  511 16 15  610  9  8  7

提示

數(shù)據(jù)保證, 1 ≤ n ≤ 9 1 \leq n \leq 9 1n9

1.題目分析

需要總結(jié)數(shù)學(xué)規(guī)律,二維數(shù)組就能解決,難在數(shù)組的遍歷。
題意很簡單:一個N乘N的矩陣,從矩陣第一個元素開始,順時針按順序打印,從邊界到中心,從小到大,直到輸出N平方結(jié)束。

這里說幾個坑:
第一,總結(jié)一般規(guī)律是要考慮,由于邊界縮小帶來的條件變化。
第二,就是判斷元素向內(nèi)旋轉(zhuǎn)的時機(jī),這里就簡稱為拐點,拐點可能不止一個或者兩個,不能簡單的靜態(tài)判斷,需要使用修改邊界之后的邊長計算新的拐點。
最后,打印時每個字符占三位:%3d.

2.題目思路

創(chuàng)建一個二維數(shù)組用于存儲結(jié)果,定義一個自然數(shù)k作為元素值,初始化為1,
定義x,y記錄k-1(這里K表示當(dāng)前值,K-1表示上一個值)的坐標(biāo),
將二維數(shù)組的第一個元素初始化為1,
每層打印之后,降維到下一層,這里設(shè)置一個自增因子:用于邊界判斷,
計算第一次邊界拐點值:例如:4 * 4的矩陣拐點就為:12,NN就為:(4N-4),

寫一個while循環(huán):
1.首先進(jìn)行拐點判斷:計算每一層的拐點值,如果當(dāng)前的K值等于拐點時,在保證大于零的情況下,邊界減二(上下左右邊長減一,就是總邊長減二),拐點值累加新的邊界計算之后的拐點值,自增因子加一。
2.對數(shù)字存放的位置進(jìn)行規(guī)律總結(jié)判斷:
四個判斷:

  • 條件一: 若(K-1)在第1行且不在最后一列,則將K填在(K-1)的右一列
  • 條件二 : 若(K-1)在最后一列且不在最后一行,則將K填在(K-1)的正下方
  • 條件三 : 若(K-1)在最后一行且不在第一列,則將K填在(K-1)的左一列
  • 條件四 : 若(K-1)在第一列且不在第一行,則將K填在(K-1)的正上方

滿足上述條件則依次存放進(jìn)二維數(shù)組,值得注意的是,需要將每次元素的坐標(biāo)值手動更新,以便下一次元素存放時判斷。
值得一提的是,如果有多層嵌套的情況,這里用自增因子縮小邊界值,判斷的條件不用改變。
3.判斷循環(huán)跳出的條件為:大于N的平方

到此,循環(huán)結(jié)束。
最后,循環(huán)遍歷二維數(shù)組,打印規(guī)定的格式即可。

3.代碼實現(xiàn)

#include <stdio.h>int main() {int n;//創(chuàng)建一個二維數(shù)組int arr[9][9] = {0};scanf("%d", &n);//定義一個自然數(shù)kint k = 1;//定義x,y記錄k-1的坐標(biāo)int x, y;x = 0;y = 0;//確定1的位置arr[x][y] = k;//每層打印之后,降維到下一層,這里設(shè)置一個自增因子:用于邊界判斷int cnt = 0;//記錄n的值int p = n;//計算第一次邊界拐點值int sum = 4 * n - 4;//當(dāng)k大于n*n時,循環(huán)結(jié)束while (k < n * n) {//計算每一層的拐點值if (sum == k) {//上下左右邊長減一,就是總邊長減二,保證邊長大于零if (p - 2 > 0) {p -= 2;}//拐點值隨著邊界縮小而遞加sum = sum + (4 * p - 4);//自增因子加一cnt++;}//條件一: 若(K-1)在第1行且不在最后一列,則將K填在(K-1)的右一列//如果有多層嵌套的情況,這里用自增因子縮小邊界值,判斷的條件不用改變if (x == 0 + cnt && y != n - 1 - cnt) {y += 1;k++;arr[x][y] = k;}//條件二 : 若(K-1)在最后一列且不在最后一行,則將K填在(K-1)的正下方//如果有多層嵌套的情況,這里用自增因子縮小邊界值,判斷的條件不用改變if (y == n - 1 - cnt && x != n - 1 - cnt) {k++;x++;arr[x][y] = k;}//條件三 : 若(K-1)在最后一行且不在第一列,則將K填在(K-1)的左一列//如果有多層嵌套的情況,這里用自增因子縮小邊界值,判斷的條件不用改變if (x == n - 1 - cnt && y != 0 + cnt) {k++;y--;arr[x][y] = k;}//條件四 : 若(K-1)在第一列且不在第一行,則將K填在(K-1)的正上方//如果有多層嵌套的情況,這里用自增因子縮小邊界值,判斷的條件不用改變if (y == 0 + cnt && x != 0 + cnt) {k++;//判斷K值是否超出范圍if (k > n * n) {break;}x--;arr[x][y] = k;}}//遍歷數(shù)組,查看結(jié)果for (int i = 0; i < n; ++i) {for (int j = 0; j < n; ++j) {//%3d占三位printf("%3d", arr[i][j]);}printf("\n");}return 0;
}
http://www.risenshineclean.com/news/48189.html

相關(guān)文章:

  • 農(nóng)村建設(shè)房子建設(shè)網(wǎng)站建設(shè)外鏈下載
  • vi設(shè)計英文seo點擊排名源碼
  • 外外貿(mào)網(wǎng)站推廣方案hao123網(wǎng)址導(dǎo)航
  • 個體工商戶可以搞網(wǎng)站建設(shè)離我最近的電腦培訓(xùn)中心
  • 裝飾裝潢seo怎么做優(yōu)化方案
  • 日本真人做爰無遮擋視頻免費網(wǎng)站網(wǎng)絡(luò)推廣培訓(xùn)去哪里好
  • 深圳網(wǎng)站建設(shè) 網(wǎng)站設(shè)計亞馬遜查關(guān)鍵詞排名工具
  • 網(wǎng)站常用的藍(lán)色2023國內(nèi)外重大新聞事件10條
  • 品牌網(wǎng)站升級網(wǎng)絡(luò)營銷推廣策劃書
  • 在福州做搬家網(wǎng)站多少錢seo快速排名點擊
  • 邯鄲網(wǎng)站建設(shè)的地方考研培訓(xùn)班集訓(xùn)營
  • 南通網(wǎng)站建設(shè)報價社交網(wǎng)絡(luò)推廣方法
  • 手機(jī)制作網(wǎng)站主頁軟件下載百度網(wǎng)盤
  • 網(wǎng)站被取消備案福州seo博客
  • 個人做網(wǎng)站要備案嗎安徽網(wǎng)站關(guān)鍵詞優(yōu)化
  • 做阿里巴巴網(wǎng)站圖片大全企業(yè)官網(wǎng)網(wǎng)站
  • 羅湖做網(wǎng)站58優(yōu)化網(wǎng)站關(guān)鍵詞的技巧
  • 做煤的網(wǎng)站app網(wǎng)站需要怎么優(yōu)化比較好
  • 東莞公司建設(shè)網(wǎng)站如何在百度上推廣自己
  • 網(wǎng)站開發(fā)合同 下載襄陽seo推廣
  • 網(wǎng)站無法訪問百度網(wǎng)盤首頁
  • 網(wǎng)站權(quán)重分散怎樣建立網(wǎng)站平臺
  • 軟裝設(shè)計圖 效果圖溫州seo教程
  • 運營服務(wù)商官方網(wǎng)站百度首頁純凈版怎么設(shè)置
  • 成都設(shè)計院工資企業(yè)站seo價格
  • 太原網(wǎng)站建設(shè)技術(shù)托管鄭州seo哪家好
  • 福建設(shè)計院網(wǎng)站百度百度一下就知道
  • 去哪找想做網(wǎng)站的客戶2023年8月疫情嚴(yán)重嗎
  • 無錫高端網(wǎng)站建設(shè)寧波seo搜索引擎優(yōu)化公司
  • 網(wǎng)站換了域名還被k站不安仁網(wǎng)絡(luò)推廣