心理

当前位置 /首页/完美生活/心理/列表

c语言金字塔编程原理

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")

}

}

}

TAG标签:金字塔 编程 语言 #