C語言——填充矩陣

C語言——填充矩陣

  • 一、問題描述
  • 二、格式要求
    • 1.輸入形式
    • 2.輸出形式
    • 3.樣例
  • 三、實驗代碼

一、問題描述

編程實現自動填充n×n矩陣元素數值,填充規則為:從第一行最后一列矩陣元素開始按逆時針方向螺旋式填充數值1,2,…,n×n,其中:n從鍵盤輸入且3≤n≤20。最后向顯示器輸出該矩陣所有元素。

二、格式要求

1.輸入形式

輸入一個正整數,為矩陣的行數和列數。

2.輸出形式

按行列順序輸出n×n矩陣的所有元素。
(1)每行n列矩陣元素均需在一行內輸出顯示
(2)輸出每行矩陣元素后均需換行輸出下一行,共輸出n行
(3)每個矩陣元素數值的域寬均為4位且右對齊

3.樣例

輸入:

11

輸出:

11 10 9 8 7 6 5 4 3 2 1
12 49 48 47 46 45 44 43 42 41 40
13 50 79 78 77 76 75 74 73 72 39
14 51 80 101 100 99 98 97 96 71 38
15 52 81 102 115 114 113 112 95 70 37
16 53 82 103 116 121 120 111 94 69 36
17 54 83 104 117 118 119 110 93 68 35
18 55 84 105 106 107 108 109 92 67 34
19 56 85 86 87 88 89 90 91 66 33
20 57 58 59 60 61 62 63 64 65 32
21 22 23 24 25 26 27 28 29 30 31

三、實驗代碼

#include <stdio.h>
int main() {int num, i;int k = 0, j = 0;int arr[20][20];scanf("%d", &num);int tempnum = num - 1;int numarr[2 * num];numarr[1] = num;for (i = 2; i < 2 * num - 1; i = i + 2) {numarr[i] = tempnum;numarr[i + 1] = tempnum;tempnum--;}int direction[4][2] = { {0, -1}, {1, 0}, {0, 1}, {-1, 0} };int x = 0;int y = num;int numIndex = 1;if (num >= 3 && num <= 20) {for (i = 1; i <= num * num; i++) {x = direction[j % 4][0] + x;y = direction[j % 4][1] + y;arr[x][y] = i;k++;if (k == numarr[numIndex]) {numIndex++;k = 0;j++;}}for (i = 0; i < num; i++) {for (j = 0; j < num; j++) {printf("%4d", arr[i][j]);}printf("\n");}} else {printf("Please input number between 3 to 20\n");}
}

運行結果
在這里插入圖片描述

點贊關注,感謝您的支持 ^ _ ^
如有錯誤,還請您批評指正🤝 🤝 🤝

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78147.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78147.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78147.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

零基礎上手Python數據分析 (22)案例實戰]之利用 Matplotlib Seaborn 進行電商銷售數據可視化分析

寫在前面 —— 圖表為刃,洞察先行!綜合運用 Pandas、Matplotlib 與 Seaborn,點亮數據價值 本篇通過一個完整的案例實戰,體驗如何將數據分析與數據可視化緊密結合,讓冰冷的數據轉化為生動、直觀、富有洞察力的視覺故事! 案例目標: 本篇博客將延續我們在第 17 篇案例中…

Java開發經驗總結

只要刪繁、捋清脈絡&#xff0c;才能掌握本質&#xff01;只有創新才有價值&#xff0c;保持創新、保持學習&#xff01; 計劃&#xff1a;UNIAPPSPRINGBOOT學習、SPRINGBOOTVUE新版學習、頁面展示學習、PYTHON。 ***********************************************************…

深入解析:RocketMQ、RabbitMQ和Kafka的區別與使用場景

互聯網大廠Java求職者面試&#xff1a;RocketMQ、RabbitMQ和Kafka的深入解析 故事場景&#xff1a;嚴肅且專業的面試官與架構師程序員馬架構 在一家知名的互聯網大廠&#xff0c;Java求職者正在接受一場嚴格的面試。面試官是一位經驗豐富的技術專家&#xff0c;他將通過多輪提…

使用vue2開發一個醫療預約掛號平臺-前端靜態網站項目練習

對于后端開發的我&#xff0c;最近一直在學習前端開發&#xff0c;除了要學習一些前端的基礎知識外&#xff0c;肯定少不了一些前端項目練習&#xff0c;就通過前端的編程知識 就簡單做一個醫療預約掛號前端靜態頁面。這個網站主要是使用了vue2 的相關技術實現的。 主要實現了這…

MongoDB(docker版)備份還原

docker啟動MongoDB docker run -d -p 27017:27017 --name my-mongo -v /mongodb/db:/data/db mongo備份MongoDB 使用mongodump備份數據庫時&#xff0c;默認會將備份數據保存在當前工作目錄下的dump文件夾中。 docker容器中默認備份在當前工作目錄&#xff0c;所以此處指定當…

zkPass案例實戰之合約篇

目錄 一、contracts/contracts/ProofVerifier.sol 1. License 和 Solidity 版本 2. 導入依賴 3. 合約聲明和默認分配器地址 4. 驗證證明 5. 驗證分配器簽名 6. 驗證驗證者簽名 7. 簽名前綴處理 8. 簽名恢復 總結 二、contracts/contracts/SampleAttestation.sol 1. …

ElasticSearch:高并發場景下如何保證讀寫一致性?

在Elasticsearch高并發場景下&#xff0c;可以通過以下多種方式來保證讀寫一致性&#xff1a; 等待主分片和副本分片都確認&#xff08;類似半同步機制&#xff09; 設置consistency參數&#xff1a;在寫操作時&#xff0c;可以設置consistency參數來控制寫操作的一致性級別。…

8、constexpr if、inline、類模版參數推導、lambda的this捕獲、初始化列表、namespace---c++17

一、constexpr if&#xff1a;編譯時條件分支 作用&#xff1a;在模板編程中&#xff0c;根據條件在編譯時選擇不同的代碼路徑&#xff0c;無需特化版本或復雜SFINAE技巧[替代SFINAE]。[SFINAE將在模版元編程再講。下個月了。] 注意&#xff1a;默認使用了隱式inline 基本語法…

【Java設計模式及實踐學習-第4章節-結構型模式】

第4章節-結構型模式 筆記記錄 1. 適配器模式2. 代理模式3. 裝飾器模式4. 橋接模式5. 組合模式6. 外觀模式7. 享元模式8. 總結 1. 適配器模式 2. 代理模式 3. 裝飾器模式 4. 橋接模式 5. 組合模式 6. 外觀模式 7. 享元模式 Java語言中的String字符串就使用了享元模式&…

unity基礎自學2.3:移動和抓握物品

文章目錄 前言&#xff1a;1、基礎配置①XR Interaction Toolkit②創建一個XR場景③示例文件實現④ 一鍵配置&#xff08;PICO Building Blocks&#xff09; 2、射線移動物品和抓握物品方法一&#xff1a;Grab Interactable方法二&#xff1a;prefab 3、Box Collider的作用與使…

pytest基礎-new

規范 1、首先創建 py 文件命名以 test_ 開始或者以 _test 結尾 2、若是新建類&#xff0c;測試類需要以 Test_開頭 3、測試用例&#xff08;方法&#xff09;需要以 test_開頭 assert 斷言 assert xx&#xff1a;判斷 xx 為真 assert not xx&#xff1a;判斷 xx 不為真 asse…

【華為OD機試真題】232、統計射擊比賽成績 | 機試真題+思路參考+代碼分析(C++)

題目描述 給定一個射擊比賽成績單,包含多個選手若干次射擊的成績分數,請對每個選手按其最高3個分數之和進行降序排名,輸出降序排 名后的選手ID序列 條件如下: 1.一個選手可以有多個射擊成績的分數,且次序不固定 2.如果一個選手成績少于3個,則認為選手的所有成績無效,排名…

?Unity 開發 | 如何通過 NTP 網絡時間實現精準的跨平臺時間同步【附完整源碼 + UI 模塊 + 偏差分析】

&#x1f3ae; 項目實戰 | 實現一套精確、可視化的游戲時間同步機制&#xff0c;讓你的多人在線游戲擺脫“時間不一致”噩夢&#xff01; 效果如圖&#xff1a; &#x1f4cc; 一、前言&#xff1a;為什么不能只信本地時間&#xff1f; 在 Unity 游戲開發中&#xff0c;時間幾…

Vue3 Composition API與十大組件開發案例詳解

文章目錄 一、Vue3核心API解析1.1 Composition API優勢1.2 核心API 二、十大組件開發案例案例1&#xff1a;響應式表單組件案例2&#xff1a;動態模態框&#xff08;Teleport應用&#xff09;案例3&#xff1a;可復用列表組件案例4&#xff1a;全局狀態通知組件案例5&#xff1…

Kafka 詳細解讀

1. Producer&#xff08;生產部卷王&#xff09; 職責&#xff1a;往 Kafka 里瘋狂輸出數據&#xff0c;KPI 是「日拋式消息海嘯」 職場人設&#xff1a; 白天開會畫餅&#xff0c;深夜寫周報的奮斗逼&#xff0c;口頭禪是「這個需求今晚必須上線&#xff01;」代碼里的「福報…

LicheeRV Nano 與Ubuntu官方risc-v 鏡像混合

LicheeRV Nano 官方給的鏡像并沒有unbutu, unbutu官方有一個基于 LicheeRV Dock的鏡像&#xff0c;想象能否將二者混合 &#xff08;1&#xff09;刷 LicheeRV Dock的鏡像 nano無法啟動 &#xff08;2&#xff09;將nano的boot分區替換掉 LicheeRV Dock的rootfs以外的分區也…

【模板匹配】圖像處理(OpenCV)-part10

19.1模板匹配 模板匹配就是用模板圖&#xff08;通常是一個小圖&#xff09;在目標圖像&#xff08;通常是一個比模板圖大的圖片&#xff09;中不斷的滑動比較&#xff0c;通過某種比較方法來判斷是否匹配成功,找到模板圖所在的位置。 不會有邊緣填充。 類似于卷積&#xff0c…

HTML:表格數據展示區

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>人員信息表</title><link rel"styl…

MySQL 的鎖,表級鎖是哪一層的鎖?行鎖是哪一層的鎖?

MySQL 的鎖層級與類型 在 MySQL 中&#xff0c;鎖的層級和實現與存儲引擎密切相關。 1. 表級鎖&#xff08;Table-Level Locks&#xff09; &#xff08;1&#xff09;存儲引擎層的表級鎖 實現層級&#xff1a;存儲引擎層&#xff08;如 MyISAM、InnoDB&#xff09;。特點&a…

阿里巴巴按圖搜索1688商品(拍立淘) API 返回值說明

阿里巴巴按圖搜索1688商品&#xff08;拍立淘&#xff09;API 返回值說明 阿里巴巴按圖搜索1688商品&#xff08;拍立淘&#xff09;API 的返回值通常以 JSON 格式返回&#xff0c;包含搜索結果、商品信息、分頁信息等。以下是具體的返回值說明&#xff1a; 1. 請求狀態信息 …