第五张循环语句总结

1:

#include<stdio.h>
main()
{
    int i,j,n;
    for(i=1;i<=5;i++)//将图形分为上下两部分 
    {
        for(j=i;j<=4;j++)
        printf(" ");//空格前部分最多是四 
        for(n=1;n<=2*i-1;n++)
        printf("*");
        printf("\n");
    }
    for(i=6;i<=9;i++)
    {
      for(j=1;j<=i-5;j++)
        printf(" ");
        for(n=1;n<=19-2*i;n++)// 9减去两边的空格数,空格数是i-5 
        printf("*");
        printf("\n");
    }
 } 

运行结果:

2:

#include<stdio.h>
main()
{
    int i,j;
    for(i=1;i<=5;i++)//将整体分为两部分 
    {
        for(j=1;j<=2*i-1;j++)
        printf("*");
        printf("\n");
    }
    for(i=6;i<=9;i++)
    {
      for(j=1;j<=19-2*i;j++)//空格数随行数的增加而增加二,星数等于9减空格数 
        printf("*");
        printf("\n");
    }
 } 

运行结果:

3

#include<stdio.h>
main()
{
    int i,j,n;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=10-2*i;j++)//星数等于2i-1,空格数等于 九减星数 
        printf(" ");
        for(n=1;n<=2*i-1;n++)
        printf("*");
        printf("\n");
    }
    for(i=6;i<=9;i++)
    {
      for(j=1;j<=2*i-10;j++)
        printf(" ");
        for(n=1;n<=19-2*i;n++)
        printf("*");
        printf("\n");
    }
 } 

运行结果:

4

#include<stdio.h>
main()
{
    int i,j,n;
    for(i=1;i<=5;i++)//分为两部分 
    {
      
        for(j=1;j<i;j++)//空格数是i-1 
        printf(" ");
        for(n=1;n<=11-2*i;n++)
        printf("*");
        printf("\n");
      
    }
    for(i=6;i<=9;i++)
    {
    for(j=1;j<=9-i;j++)//星数是2i-9,空格数是(9-(2i-9))/2=9-i 
        printf(" ");
        for(n=1;n<=2*i-9;n++)
        printf("*");
        printf("\n");
    }
 } 

运行结果:

5:

    int i,j,n;
    for(i=1;i<=5;i++)
      {
        for(j=1;j<i;j++)
        printf(" ");
        for(n=1;n<=9;n++)
        printf("*");
        printf("\n");
      }
    for(i=6;i<=9;i++)
    {
      for(j=1;j<=9-i;j++)
        printf(" ");
        for(n=1;n<=9;n++)
        printf("*");
        printf("\n");
    }
 } 

运行结果:

6:

#include<stdio.h>
main()
{
    int i,j,n;
    for(i=1;i<=4;i++)//分为三个部分 
      {
        for(j=i;j<=4;j++)
        printf(" ");
        for(n=1;n<=2*i-1;n++)
        printf("*");
        printf("\n");
      }
    for(i=5;i<=7;i++)
    {
        for(n=1;n<=9;n++)//每行的星数都相等 
        printf("*");
        printf("\n");
    }
        for(i=8;i<=11;i++)
      {
        for(n=1;n<=12-i;n++)
        printf("*");
        for(j=1;j<=2*i-15;j++)//空格数为九减星数,等于9-2*(12-i)=2*i-15 
        printf(" ");
        for(n=1;n<=12-i;n++)//因为空格两边有星号所以要后半部分星号排列在空格后面 
        printf("*");
        printf("\n");
      }
 } 

运行代码:

总结:

先计算好算法,联系好星号和空格之间的数据和位置间的关系,然后把复杂的图形分成更简单的几部分。

我认为的难点是:

continue语句

猜你喜欢

转载自www.cnblogs.com/123456l/p/10700749.html