一:简单输出
#include<stdio.h>
int main()
{
int i;
for(i=1;i<=5;i++)
{
printf("*");
}
}
#include<stdio.h>
int main()
{
int i=1;
while(i<=5)
{
printf("*");
i++;
}
}
二:普通金字塔
#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
}
#include<stdio.h>
int main()
{
int i=1;
while(i<=5)
{
int j=1;
while(j<=i)
{
printf("*");
j++;
}
printf("\n");
i++;
}
}
三:金字塔
#include<stdio.h>
int main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(k=1;k<=(5-i)/2;k++)
{
printf(".");
}
for(j=1;j<=i;j++)
{
printf("*");
}
printf("\n");
}
}
#include<stdio.h>
int main()
{
int i=1;
while(i<=5)
{
int k=1;
while(k<=(5-i)/2)
{
printf(" ");
k++;
}
int j=1;
while(j<=i)
{
printf("*");
j++;
}
i++;
printf("\n");
}
}
四:输出空心金字塔
#include<stdio.h>
int main()
{
int i,j,k;
for(i=1;i<=5;i++)
{
for(k=1;k<=(5-i);k++)
{
printf(" ");
}//每行之前的空格
for(j=1;j<=2*i-1;j++)//控制每行输出* 星花数=2*该行i-1
{
if(i==1||i==5)
{
printf("*");
}//第一行和最后一行正常输出*
else
{
if(j==1||j==2*i-1)
{
printf("*");
}//如果是每行第一个或者最后一个正常输出
else
{
printf(" ");
}//否则输出空格
}
}
printf("\n");
}
}
#include<stdio.h>
int main()
{
int i=1;
while(i<=5)
{
int k=1;
while(k<=(5-i))
{
printf(" ");
k++;
}//每行输出的空格
int j=1;
while(j<=(2*i-1))
{
if(i==1||i==5)
{
printf("*");
}//第一行和最后一行照常输出
else
{
if(j==1||j==2*i-1)
{
printf("*");
}
else
{
printf(" ");
}
}//添加空心部位 除第一个和最后一个外,全部都换成空格
j++;
}
i++;
printf("\n");
}
}