利用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é)會了,我們就可以進(jìn)行簡單圖形的打印了
首先我們從正方形開始:
//打印自定義邊長的正方形
#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-07
C++實現(xiàn)拼圖游戲代碼(graphics圖形庫)
這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)拼圖游戲代碼,帶有g(shù)raphics圖形庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
C++實現(xiàn)十六進(jìn)制字符串轉(zhuǎn)換成int整形值的示例
今天小編就為大家分享一篇關(guān)于C++實現(xiàn)十六進(jìn)制字符串轉(zhuǎn)換成int整形值的示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Visual?Studio?2022?安裝低版本?.Net?Framework的圖文教程
這篇文章主要介紹了Visual?Studio?2022?如何安裝低版本的?.Net?Framework,首先打開?Visual?Studio?Installer?可以看到vs2022?只支持安裝4.6及以上的版本,那么該如何安裝4.6以下的版本,下面將詳細(xì)介紹,需要的朋友可以參考下2022-09-09
C語言中程序環(huán)境和預(yù)處理的詳細(xì)圖文講解
這篇文章主要給大家介紹了關(guān)于C語言中程序環(huán)境和預(yù)處理的相關(guān)資料,我們寫的C語言代碼,從運行,到在屏幕上生成結(jié)果,經(jīng)歷了比較復(fù)雜的過程,需要的朋友可以參考下2023-02-02

