利用C語言如何實(shí)現(xiàn)一些簡(jiǎn)單圖形的打印
1#define_CRT_SECURE_NO_WARNINGS 1
因?yàn)楣P者采用的是VS的編譯環(huán)境所以有了上面的這一句話
我們都知道平面圖形是由一條條線段構(gòu)成,所以我們就先實(shí)現(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é)會(huì)了,我們就可以進(jìn)行簡(jiǎ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");
}
}
}

那么我們可以從以上知識(shí)嘗試一下自己打出一個(gè)菱形以及空心菱形
#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;
}
此外在提供一個(gè)打印菱形的代碼
#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開始會(huì)出現(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)然,肯定要在這給幾個(gè)筆者參考過的文章
參考: http://www.dhdzp.com/article/202654.htm
在這筆者再提供一個(gè)由字符組成的三角形
#include<stdio.h>
int main()
{
int i, j, n, k = 0;
char ch = 'A';
printf("請(qǐng)輸入行數(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語言如何實(shí)現(xiàn)一些簡(jiǎn)單圖形打印的文章就介紹到這了,更多相關(guān)C語言簡(jiǎn)單圖形的打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c++臨時(shí)對(duì)象導(dǎo)致的生命周期問題
對(duì)象的生命周期是c++中非常重要的概念,它直接決定了你的程序是否正確以及是否存在安全問題,這篇文章主要介紹了c++臨時(shí)對(duì)象導(dǎo)致的生命周期問題 ,需要的朋友可以參考下2024-07-07
JS調(diào)用C++函數(shù)拋出異常及捕捉異常詳解
這篇文章主要介紹了js調(diào)用C++函數(shù)的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-08-08
使用Qt/C++實(shí)現(xiàn)WGS84,高德GCJ-02與百度BD-09坐標(biāo)系間相互轉(zhuǎn)化
這篇文章主要為大家詳細(xì)介紹了如何使用Qt實(shí)現(xiàn)WGS84、高德GCJ-02與百度BD-09坐標(biāo)系間相互轉(zhuǎn)化,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-07-07
c++ 隊(duì)列相關(guān)知識(shí)總結(jié)
這篇文章主要介紹了c++ 隊(duì)列相關(guān)知識(shí)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下2021-03-03
C語言實(shí)現(xiàn)實(shí)時(shí)鐘表
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)實(shí)時(shí)鐘表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
C++實(shí)現(xiàn)循環(huán)隊(duì)列
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)循環(huán)隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01
Visual Studio 2019 DLL動(dòng)態(tài)庫連接實(shí)例(圖文教程)
這篇文章主要介紹了Visual Studio 2019 DLL動(dòng)態(tài)庫連接實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03

