c语言金字塔编程原理
TIPS:本文共有 994 个字,阅读大概需要 2 分钟。
算法思路:
这个图形有几行,就做几次循环,每次循环打印一行: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 <stdio.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")
}
}
}
小编精心整理的这篇内容:c语言金字塔编程原理,如果你看到此处请一定要收藏哦!