利用C語言如何實現(xiàn)一些簡單圖形的打印
1#define_CRT_SECURE_NO_WARNINGS 1
因為筆者采用的是VS的編譯環(huán)境所以有了上面的這一句話
我們都知道平面圖形是由一條條線段構(gòu)成,所以我們就先實現(xiàn)線段的打印
//打印自定義長度的線段 #include<stdio.h> int main() { int i = 0; int n; while (~scanf("%d", &n)) { for (i = 0; i < n; i++) printf("* "); printf("\n"); } return 0;
那么,線段學(xué)會了,我們就可以進行簡單圖形的打印了
首先我們從正方形開始:
//打印自定義邊長的正方形 #include<stdio.h> int main() { int j = 0, i = 0; int n; while (~scanf("%d", &n)) { for (i = 0; i < n; i++)//控制行 { for (j = 0; j < n; j++)//控制列 printf("* "); printf("\n"); } } return 0; }
接下來是三角形:(筆者準(zhǔn)備了六種三角形)
//打印三角形—1 #include<stdio.h> int main() { int j = 0, i = 0, n; while (~scanf("%d", &n)) { for (j = 0; j < n; j++)//行 { for (i = 0; i < n - j; i++)//列 { printf("* "); } printf("\n"); } } return 0; } //打印三角形—2 #include<stdio.h> int main() { int j = 0, i = 0, n; while (~scanf("%d", &n)) { for (j = 0; j < n; j++)//行 { for (i = 0; i <= j; i++)//列 { printf("* "); } printf("\n"); } } return 0; } //打印三角形—3 #include<stdio.h> int main() { int j = 0, i = 0, n; while (~scanf("%d", &n)) { for (j = 0; j < n; j++)//行 { for (i = 0; i < n - j - 1; i++)//列 { printf(" "); } for (i = 0; i <= j; i++) { printf("* "); } printf("\n"); } } return 0; } //打印三角形—4 #include<stdio.h> int main() { int j = 0, i = 0, n; while (~scanf("%d", &n)) { for (j = 0; j < n; j++)//行 { for (i = 0; i < j ; i++)//列 { printf(" "); } for (i = 0; i < n - j ; i++) { printf("* "); } printf("\n"); } } return 0; } //打印三角形—5 #include<stdio.h> int main() { int j = 0, i = 0, n; while (~scanf("%d", &n)) { for (j = 0; j < n; j++)//行 { for (i = 0; i <= n - j ; i++)//列 { printf(" "); } for (i = 0; i <= j; i++) { printf("* "); } printf("\n"); } } return 0; } //打印三角形—6 #include<stdio.h> int main() { int j = 0, i = 0, n; while (~scanf("%d", &n)) { for (j = 0; j < n; j++)//行 { for (i = 0; i < j; i++)//列 { printf(" "); } for (i = 0; i < n - j; i++) { printf("* "); } printf("\n"); } } return 0; }
現(xiàn)在就可以嘗試一下圖形的挖空了
我們?nèi)匀槐3种暗捻樞驈恼叫蔚饺切危?/p>
//空心正方形 #include<stdio.h> int main() { int j = 0,i=0; int n; while (~scanf("%d", &n)) { for (j = 0; j < n; j++) { for (i = 0; i < n; i++) { if (j == 0 || i==0 ||j==n-1 || i==n-1) printf("* "); else printf(" "); } printf("\n"); } } }
//空心三角形 #include<stdio.h> int main() { int n; int i = 0, j = 0; while (~scanf("%d", &n)) { for (i = 0; i < n; i++) { for (j = 0; j <= i; j++) { if (j == 0 || i == j || i==n-1 ) printf("* "); else printf(" "); } printf("\n"); } } }
那么我們可以從以上知識嘗試一下自己打出一個菱形以及空心菱形
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<math.h> int main() { int i = 0, j = 0; int n; while (~scanf("%d", &n))//在這的n我們必須保證是奇數(shù) { for (i = 0; i < n; i++) { for (j = 0; j < abs(n / 2 - i); j++) printf(" "); for (j = 0; j < n - 2 * abs(n / 2 - i); j++) printf("*"); printf("\n"); } } return 0;
為了更好的理解,筆者微微修改了以上代碼
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<math.h> #include<Windows.h> int main() { int i = 0, j = 0; int n; while (~scanf("%d", &n)) { for (i = 0; i < n; i++) printf("%2d",i); printf("\n"); for (i = 0; i < n; i++) { for (j = 0; j < abs(n / 2 - i); j++) { printf(" "); Sleep(100); } for (j = 0; j < n - 2 * abs(n / 2 - i); j++) { printf("* "); Sleep(100); } printf("\n"); Sleep(100); } } return 0; }
此外在提供一個打印菱形的代碼
#include<stdio.h> int main() { int i, j, n; { while (~scanf("%d", &n)) {//上邊部分 for (i = 0; i < n; i++) { for (j = i; j < n - 1; j++) printf(" "); for (j = 0; j < 2 * i + 1; j++) printf("*"); printf("\n"); } for (i = n - 2; i >= 0; i--) //這里i從n-2開始的,要是從n-1開始會出現(xiàn)兩行相同的情況 { for (j = i; j < n - 1; j++) printf(" "); for (j = 0; j < 2 * i + 1; j++) printf("*"); printf("\n"); }//下邊部分 } return 0; } }
當(dāng)然,肯定要在這給幾個筆者參考過的文章
參考: http://www.dbjr.com.cn/article/202654.htm
在這筆者再提供一個由字符組成的三角形
#include<stdio.h> int main() { int i, j, n, k = 0; char ch = 'A'; printf("請輸入行數(shù):"); scanf("%d", &n); for (i = 0; i < n; i++) { for (j = 0; j < 2*(n-i)-1; j++) { k++; if (k % 2 != 0) { printf("%c", ch++); } else printf("%c", ch); } printf("\n"); } return 0; }
最后可以大家可以嘗試一下自己打印空心菱形以及由字符構(gòu)成的圖形
到此這篇關(guān)于利用C語言如何實現(xiàn)一些簡單圖形打印的文章就介紹到這了,更多相關(guān)C語言簡單圖形的打印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Visual?Studio2022下Opencv的配置圖文教程
本文主要介紹了Visual?Studio2022下Opencv的配置圖文教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07C++實現(xiàn)拼圖游戲代碼(graphics圖形庫)
這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)拼圖游戲代碼,帶有g(shù)raphics圖形庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05C++實現(xiàn)十六進制字符串轉(zhuǎn)換成int整形值的示例
今天小編就為大家分享一篇關(guān)于C++實現(xiàn)十六進制字符串轉(zhuǎn)換成int整形值的示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Visual?Studio?2022?安裝低版本?.Net?Framework的圖文教程
這篇文章主要介紹了Visual?Studio?2022?如何安裝低版本的?.Net?Framework,首先打開?Visual?Studio?Installer?可以看到vs2022?只支持安裝4.6及以上的版本,那么該如何安裝4.6以下的版本,下面將詳細(xì)介紹,需要的朋友可以參考下2022-09-09C語言中程序環(huán)境和預(yù)處理的詳細(xì)圖文講解
這篇文章主要給大家介紹了關(guān)于C語言中程序環(huán)境和預(yù)處理的相關(guān)資料,我們寫的C語言代碼,從運行,到在屏幕上生成結(jié)果,經(jīng)歷了比較復(fù)雜的過程,需要的朋友可以參考下2023-02-02