分析c语言中用for打印出星号金字塔

2025-06-24 07:47:29
推荐回答(3个)
回答1:

include 
int main(void)
{
int i,j,tier;
printf("让我们来画一个金字塔\n金字塔有几层:");
scanf("%d",&tier);
for(i=1;i<=tier;i++){
for(j=1;j<=tier-i;j++)
putchar(' ');
for(j=1;j<=2*i-1;j++)
    putchar('*');
    putchar('\n');

}

主要是星号前面,每一行空格的表示:总层数-当前行数。

回答2:

你的程序不对。如果你只打印4行金字塔的话,程序如下:
#include"stdio.h"
main()
{
int i,j,k;
for(i=0;i<=3;i++)//控制打印4行
{
for(j=0;j<=2-i;j++)//每一行先打印2-i+1个空格
printf(" ");
for(k=0;k<2*i+1;k++)//再打印2i+1个*号
printf("*");
printf("\n");//打完一行换行
}
}

回答3:

main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
}
for(k=0;k<=2;k++)
//printf(*);
printf("*");
//printf(\n);
printf("\n");
}

主要是printf()是格式输出,不能够直接输出你想要的字符!