[C練習]蛇形程式碼
1. 編寫一個程式,輸出類似的蛇形程式碼:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
#include <stdio.h>
#include <malloc.h>
int main()
{
int n;
int x,y,round;
//a[x][y],x是二維陣列的第一個下標,y是二維陣列的第二個下標,
//round是轉的圈數,從0開始。
int count = 1;//從1開始計數
printf("Please input a number:\n");
scanf("%d",&n);//使用者輸入n的值
int (*a)[n] = calloc(n * n,sizeof(int));//建立n*n的矩陣
for(round = 0; round < n / 2; round++)
{
x = round;
for(y = round; y < n - round; y++)
{
a[x][y] = count;
count++;
}
//print 1,2,3,4,5
y = n - round - 1;
for(x = round + 1; x < n - round - 1; x++)
{
a[x][y] = count;
count++;
}
//print 6,7,8
x = n - round - 1;
for(y = n - round - 1; y >= round; y--)
{
a[x][y] = count;
count++;
}
//print 13,12,11,10,9
y = round;
for(x = n - round - 2; x > round; x--)
{
a[x][y] = count;
count++;
}
//print 16,15,14
}
if(n % 2 == 1)
{
a[n / 2][n / 2] = n * n;
}
for(x = 0 ; x < n; x++)
{
for(y = 0; y < n; y++)
{
printf(" %d ",a[x][y]);
}
printf("\n");
}
free(a);
return 0;
}
相關文章
- Scala程式碼練習(複習用)
- sklearn基本操作程式碼練習
- 用C語言輸出蛇形矩陣C語言矩陣
- C++練習C++
- 第四天-程式碼練習
- 《C程式設計語言》 練習3-5C程式程式設計
- 大一C語言程式設計練習題C語言程式設計
- C++遠征之起航篇第5章 綜合練習 程式碼參考C++
- 萌新練習寫程式碼的每日一練:括號生成
- C語言程式設計練習 GPS資料處理C語言程式設計
- 程式碼源 Y1 配套模擬練習
- 程式練習題(2)
- 程式設計練習程式設計
- 藍橋杯練習試題程式碼及講解
- 《The Rust Programming language》程式碼練習(part 3 簡單web )RustWeb
- 《The Rust Programming language》程式碼練習(part 1 基礎部分)Rust
- 《The Rust Programming language》程式碼練習(part 2 進階部分)Rust
- C語言練習——資料加密C語言加密
- C++ 練習 簡易日曆C++
- matlab練習程式(灰度拉伸)Matlab
- 《The Rust Programming language》程式碼練習(part 3 簡單web server)RustWebServer
- fasttext訓練模型程式碼AST模型
- C#第一次練習C#
- C# 第二次練習C#
- C程式設計語言(第2版·新版)練習題1-4C程式程式設計
- C程式設計語言(第2版·新版)練習題1-5C程式程式設計
- C程式設計語言(第2版·新版)練習題1-6C程式程式設計
- C程式設計語言(第2版·新版)練習題1-7C程式程式設計
- C程式設計語言(第2版·新版)練習題1-8C程式程式設計
- 7-蛇形二維陣列陣列
- extern "C"的用途—在C++程式碼中嵌入C程式碼C++C程式
- python指令碼練習筆記Python指令碼筆記
- Java程式設計練習_241206Java程式設計
- matlab練習程式(水波特效)Matlab特效
- Python練手程式碼段(2020.11.11)Python
- 笨辦法學C 練習12:If,Else If,Else
- markdown 使用練習練習
- 練習時的docker部署指令碼Docker指令碼
- matlab練習程式(Sinkhorn演算法)Matlab演算法