第五章 循环结构课后思考

本文深入探讨了三种循环结构语句(for、while、do_while)的应用技巧,通过多个实例讲解了如何使用break和continue语句控制循环流程,特别强调了避免无限循环和正确构建循环体的重要性。

第五章    循环结构课后思考

本章重点、难点:

第五章主要讨论了3种循环结构语句-for语句、while语句以及do_while语句,另外还了解了一下if语句和goto语句组合构成的循环。

本章重点:对于for语句、while语句和do_while的熟悉在掌握以及应用;掌握break语句和continue语句在循环语句中的应用,明白break语句和continue语句在循环语句中各自的含义及作用。
本章难点:在编辑代码时条件语句和循环体结构的构建及描述避免发生运行不了或出现无限循环的结果;对于break语句和continue语句的掌握应用。
课后7个思考题我的选做结果分析如下:

1

#include<stdio.h>
main()
{
int a,b,c,d,e,f;
for(a=1;a<=5;a++)
    
        for(b=4;b>=a;b--)
        printf(" ");
        for(c=1;c<=2*a-1;c++)
        printf("*");
        printf("\n");
    }
    for(d=1;d<=4;d++)
{
    for(e=1;e<=d;e++)
    printf(" ");
    for(f=1;f<=9-2*d;f++)
    printf("*");
    printf("\n");
}
}
运行结果如下:1616433-20190413224240223-1828906842.png
分析:我将这个图分为两个部分,一部分为前5行另一部分为后4行,应用数列的方法构建条件语句和循环体结构,将整个图形分为两个部分构建。

2

#include<stdio.h>
main()
{
    int a,b,c,d;
    for(a=1;a<=5;a++)
    {
        for(b=1;b<=2*a-1;b++)
        printf("*");
        printf("\n");
    }
    for(c=1;c<=4;c++)
    {
        for(d=1;d<=9-2*c;d++)
        printf("*");
        printf("\n");
    }
}
运行结果:1616433-20190413224305219-1193806061.png
分析:于第一个几何图形的代码构建差不多

4

#include<stdio.h>
main()
{
    int a,b,c,d,e,f;
    for(a=1;a<=5;a++)
    {
        for(b=1;b<=a-1;b++)
        printf(" ");
        for(c=1;c<=11-2*a;c++)
        printf("*");
        printf("\n");
    }
    for(d=1;d<=4;d++)
    {
        for(e=1;e<=4-d;e++)
        printf(" ");
        for(f=1;f<=1+2*d;f++)
        printf("*");
        printf("\n");
    }
}

运行结果如下:1616433-20190413224320095-46048034.png

分析:分为两部分代码,前5行和后4行分为两段代码两个循环结构,应用数列的知识构建循环体结构和条件语句。

5

#include<stdio.h>
main()
{
    int a,b,c,d,e,f;
    for(a=1;a<=5;a++)
    {
        for(b=1;b<=a-1;b++)
        printf(" ");
        for(c=1;c<=7;c++)
        printf("*");
        printf("\n");
    }
    for(d=1;d<=4;d++)
    {
        for(e=1;e<=4-d;e++)
        printf(" ");
        for(f=1;f<=7;f++)
        printf("*");
        printf("\n");
    }
}
运行结果:1616433-20190413224331896-1482683920.png
分析:7个图形前六个都差不多,应用等差数列的方法构建条件语句和循环结构分为两部分打出代码。

7

#include<stdio.h>
 main()
 {    
     int a,b,c;
     for(a=1;a<=5;a++)  
     {
         for(b=a;b<5;b++)
          printf("   ");
          for(c=1;c<=(2*a-1);c++)
          printf(" * ");
          printf("\n");  
     }
    for(a=1;a<=2;a++)  
    {
        for(b=1;b<=9;b++)
        {
            printf(" * ");
        }
        printf("\n");
    }
    for(a=1;a<=4;a++)  
     {
         for(b=a;b<5;b++)  
              printf(" * ");
          for(c=1;c<=(2*a-1);c++)  
              printf("   ");
        for(b=a;b<5;b++)  
              printf(" * ");
                  printf("\n");     
    }    
     
 }

运行结果如下:1616433-20190414111428770-1049230799.png

分析:我将该图型分为了三个部分来做,第一部分为前5行,第二部分为第6和第7行,最后4行为一部分,与前面不同的是之前的""号在这用" "代替了;实质还是用数列来做。但我总觉得语书上的原图与运行结果有一定的差距,书上原图如下:1616433-20190414111440089-1373446246.jpg

我觉得运行结果的上下距离与书上原图有差距;但我搞不定。

转载于:https://www.cnblogs.com/ganyiwubo/p/10703279.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值