1. 程式人生 > >c++ 簡單例項羅列 金字塔效果(for迴圈和while迴圈)

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

空心金字塔