c++ 簡單例項羅列 金字塔效果(for迴圈和while迴圈)
阿新 • • 發佈:2019-01-11
一:簡單輸出
#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");
}
}