c语言金字塔编程原理?
算法思路:
这个图形有几行,就做几次循环,每次循环打印一行:for ( i=0;i<N;i++ ),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:");
c语言怎么用while语句输出星号金字塔?
要使用while语句输出星号金字塔,可以使用两个嵌套的while循环。外层循环控制行数,内层循环控制每行的星号数量。
首先,我们需要定义一个变量来表示金字塔的高度。然后,外层循环从1到金字塔的高度进行迭代,内层循环从1到当前行数进行迭代。
在内层循环中,我们可以使用条件语句来判断当前位置是否应该输出星号。如果是,则输出一个星号,否则输出一个空格。通过这种方式,我们可以逐行构建星号金字塔。
#include<stdio.h>
int main(void)
{
int i=1,j,k;
while(i<=5) /* 设定三角形的高度 */
{
j=1;
while(j<=20-i) /* 打出每行的空格 */
{
printf(" ");
j++;
}
k=1;
while(k<=i*2-1) /* 打出每行的* */
{
printf("*");
k++;
}
puts(" ");
i++;
}
getch();
}
c语言如何输出多个金字塔?
C语言输出金字塔状数字。
我们先定义两个变量i,j来控制行和列,k用来控制后面的逐渐变小的数。 inti,j,k; 我们已知有四行,所以最外层设置循环四次。 for(i=1;i<=4;i++) 因为是三角状的所以前面的我们补足空格,而空格变化的是根据总行数减去我们的i变量的值而变化的。 for(j=1;j<=4-i;j++) { printf(" "); } 而数字的变化可以从i与j的运算中找出规律,当我们内循环的j输出到外循环的i*2-1的一半时我们接下来的输出就要逐

