真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言打印金字塔,菱形,V形圖案-創(chuàng)新互聯(lián)

文章目錄

目錄

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比恒山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式恒山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋恒山地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

文章目錄

前言

一、打印金字塔(等腰三角形)

1.圖案

2.代碼

二、打印菱形(兩個(gè)三角形拼在一起)

1.圖案

2.代碼

三.打印V形?

1.圖案?

2.代碼

四.打印(倒著的)V?

1.圖案?

2.代碼

總結(jié)


前言

使用C語言打印圖形,金字塔(等腰三角形),菱形(用兩個(gè)等腰三角形上下拼在一起),V形(有正V和倒V)。

所編寫的代碼是可以改變行數(shù)的,在運(yùn)行時(shí),輸入行數(shù),就可以打印出來!當(dāng)然也可以直接用printf打印出來,但是行數(shù)就不可以更改了。這里是前者啊。


一、打印金字塔(等腰三角形) 1.圖案

我們要打印出來如圖所示的圖案。

這里我們可以找到規(guī)律:第一行是1個(gè),第二行是3個(gè),以此類推1,3,5,7,9.........?(自己想一想怎么得到這些數(shù))。

然后我們可以發(fā)現(xiàn)圖案前面空格的規(guī)律:第一行6個(gè),第二行5個(gè),以此類推6,5,4,3,2,1,0(再想一想這要怎么得到)。

2.代碼
#includeint main()
{
	int i = 0;
	int j = 0;
	int n = 0;
	int s = 0;
	printf("請(qǐng)輸入行數(shù):");
	scanf("%d", &n);
	for (i = 0; i< n; i++)//行數(shù)
	{
		for (j = 1; j< n - i; j++)//每一行之前的空格
		{
			printf(" ");
		}
		for (s = 0; s< i * 2 + 1; s++)//打印星號(hào)
		{
			printf("*");
		}
		printf("\n");
	}
}

前面第一步先建立變量,然后要確定行數(shù)(n)這里使用scanf()來確定。有了行數(shù)之后就要打印每一行之前的空格,是依次遞減的,這里用(n-i)就可以得到6.5.4.3.2.1.0。

空格好了之后就是打印星號(hào)部分,根據(jù)1,3,5,7,9我們可以找到規(guī)律,每一個(gè)數(shù)都是(i*2+1)得到的,例如:i=0,那么i*2+1=1。

最后每打印一行,最后都進(jìn)行換行。

二、打印菱形(兩個(gè)三角形拼在一起) 1.圖案

我們要打印出來下圖的菱形。

首先還是要找一下規(guī)律,這個(gè)菱形是由一個(gè)三角形和一個(gè)倒三角拼成的圖案。在上面我們已經(jīng)知道了三角形如何打印,那么倒著的三角形怎么解決呢?(自己認(rèn)真想一想)?

在這里我們可以發(fā)現(xiàn),要想打印它,空格和星號(hào)的順序是反著的。規(guī)律也就相反了!?

空格是:0,1,2,3,4,5,6。星號(hào)是11,9,7,5,3,1。?

2.代碼

#includeint main()
{
	int i = 0;
	int j = 0;
	int n = 0;
	int s = 0;
	printf("請(qǐng)輸入行數(shù):");
	scanf("%d", &n);
	for (i = 0; i< n; i++)//行數(shù)
	{
		for (j = 1; j< n - i; j++)//每一行之前的空格
		{
			printf(" ");
		}
		for (s = 0; s< i * 2 + 1; s++)//打印星號(hào)
		{
			printf("*");
		}
		printf("\n");
	}

	for (i = 1; i< n; i++)//i=1,避免行重復(fù)
	{
		for (j = 0; j< i ; j++)
		{
			printf(" ");
		}
		for (s = 0; s< 2 * (n - i) - 1; s++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

上面的三角形和第一個(gè)圖案相同,重點(diǎn)是第二個(gè)倒三角!?

首先還是先確定行數(shù)(n), 為了避免行數(shù)的重復(fù),這里i從1開始。然后是每行星號(hào)之前的空格,這里我們直接使用(j

最后就是打印星號(hào),根據(jù)從大到小的規(guī)律:11,9,7,5,3,1。每個(gè)數(shù)都可以用2*(n-i)-1,得到,并且依次遞減。?


三.打印V形? 1.圖案?

根據(jù)前面的兩個(gè)圖形,我們也總結(jié)了一定的經(jīng)驗(yàn)。(這里可以認(rèn)真仔細(xì)的想一想)?

大概可以分為3部分:每行之前的空格,中間的空格,兩邊的星號(hào)!(比較難的便是中間部分的空格)?

2.代碼
int main()
{
	int i = 0;
	int j = 0;
	int n = 0;
	int s = 0;
	printf("請(qǐng)輸入行數(shù):");
	scanf("%d", &n);
	for (i = 0; i< n; i++)//行數(shù)
	{
		for (j = 0; j< i; j++)//每行之前的空格
		{
			printf(" ");
		}
		printf("*");
		for (s = 0; s< 2 * (n - i-1) - 1; s++)//打印中間的空格
		{
			printf(" ");
		}
		if (2 * (n - i - 1) - 1 >0)//避免最后一行星號(hào)重復(fù)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;
}

看完這個(gè),是不是感覺和倒三角差不多,中間變成空格了!

第一步還是先確定變量,和行數(shù)。第二步就是每行之前的空格0,1,2,3,4,5,6........,直接用(j

第三步就是中間的空格,看過之后可以發(fā)現(xiàn)中間空格是:13,11,9,7,5,3,1,0。根據(jù)之前的經(jīng)驗(yàn)我們找規(guī)律,行數(shù)(n)-i-1再乘2可以得到每行的數(shù)是?14,12,10......并不是我們想要的數(shù),但是只要在后面-1,就可以得到數(shù)了。主要還是用行數(shù)-當(dāng)前的行數(shù),再根據(jù)所得的結(jié)果進(jìn)行加或減,來求得我們所需要的數(shù)字!

中間空格完成之后,再跟上星號(hào)。但是有一點(diǎn)要注意:就是最后一行星號(hào)重復(fù)的問題,如果不解決就無法打印出來,這里會(huì)多一個(gè)。

所以我們加上條件來完成:if (2 * (n - i - 1) - 1 >0),大于0,就進(jìn)行打印,當(dāng)最后一行等于0時(shí),條件不成立,就不執(zhí)行打印。

四.打印(倒著的)V? 1.圖案?

這個(gè)要將V反過來打印,每行之前的空格,星號(hào),中間的空格,都要做一定的修改來完成。?

圖形的規(guī)律還是可以找到的。?

2.代碼

這里是重新寫的一段,和上一個(gè)分開了。?

int main()
{
	int i = 0;
	int j = 0;
	int n = 0;
	int s = 0;
	printf("請(qǐng)輸入行數(shù):");
	scanf("%d", &n);
	for (i = 0; i< n; i++)//行數(shù)
	{
		for (j = 1; j< n - i; j++)//打印每行之前的空格
		{
			printf(" ");
		}
		if (n - i< n)//避免第一行星號(hào)重復(fù)
		{
			printf("*");
		}
		for (s = 0; s< i*2-1; s++)//打印中間的空格
		{
			printf(" ");
		}
		printf("*");//打印星號(hào)
		printf("\n");
	}
	return 0;
}

這里每行之前的空格用(j

中間空格從小到大:0,1,3,5,7,9,11,13。用(i*2-1)?可以得到,最后跟著打印每行的星號(hào)然后換行就完成了!?。。。?!


總結(jié)

這里用C語言打印了幾個(gè)圖形,根據(jù)行和列來找到規(guī)律,進(jìn)行打印。最好是多看一看,找到它的規(guī)律,就很好的打印出來了!

當(dāng)然這里只是其中的一種方法,如果有更好的方法可以留言互相交流!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


當(dāng)前名稱:C語言打印金字塔,菱形,V形圖案-創(chuàng)新互聯(lián)
文章地址:http://weahome.cn/article/pesic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部