c++ 简单实例罗列 金字塔效果(for循环和while循环)

一:简单输出

#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");
	 }
  }

空心金字塔

猜你喜欢

转载自blog.csdn.net/weixin_44489500/article/details/86297069