靚麗時尚館

位置:首頁 > 健康生活 > 心理

c語言金字塔程式設計原理

心理1.62W
c語言金字塔程式設計原理

演算法思路:

這個圖形有幾行,就做幾次迴圈,每次迴圈列印一行:for ( i=0i<Ni++ ),N=3

注意i在3行中取值:0,1,2

迴圈體中輸出每行,每行的構成:分為前邊的空格和後面的星號

每行的空格計數:第1行(i=0)空格數2,第2行(i=1)空格數1,第3行(i=2)空格數0

那麼在i迴圈中用i表示的空格數就是:總行數-當前行數-1=N-i-1

在i迴圈中新開一個迴圈來輸出空格,迴圈幾次輸出幾個空格

每行的星號計數:第1行(i=0)星號數1,第2行(i=1)星號數3,第3行(i=2)星號數5

那麼在i迴圈中用i表示的星號數就是:當前行數*2+1=i*2+1

在i迴圈中新開一個迴圈來輸出星號,迴圈幾次輸出幾個空格

最後每行需要一個換行符號輸出

例程:

#include &ltstdio.h>

int main()

{

int number, lnumber, rnumber

int rows,blank

printf("Please input a number between 1 to 30:")

scanf("%d", &number)

while ( (number < 0 || number > 30) )

{

printf("Input wrong number! Please input again:")

scanf("%d", &number)

}

{

rows = (number - 1)

for (rows rows >= 0 rows--)

{

for (blank = rows blank >= 0 blank--)

printf(" ")

for (lnumber = 1 lnumber <= (number - rows) lnumber++)

{

printf("%d ", lnumber)

}

for (rnumber = (number - rows - 1) rnumber >= 1 rnumber--)

{

printf("%d ", rnumber)

}

printf("n")

}

}

}