• C语言博客作业02--循环结构


    0.展示pta分数

    0.2单循环结构

    0.1循环嵌套

    1.本章学习总结(2分)

    1.1for语句

    1.1.1形式:

    for (表达式1;表达式2;表达式)
           循环语句;
    

    1.1.2运用截图

    1.1.3注解:

    • 表达式1(n=1)为给循环变量赋初值;
    • 表达式2(n<=N)为条件表达式,给出循环条件;
    • 表达式3(n++)为步长表达式,改变循环变量的值;
    • 循环语句只能是一条语句,若欲执行多个操作,可将几个语句用大括号括起来,在语法复合句被认为是一条语句;
    • 若循环正常结束,n的值最后将为N+1;

    1.2while语句

    1.2.1形式:

    while(表达式)
           循环语句体;
    

    1.2.2运用截图

    1.2.3注解

    • 表达式可以是一切合法的语句;
    • 循环体书写注意点和for语句相同;

    1.3do-while语句

    1.3.1形式:

    do
    {
        循环体语句
    }while(表达式);
    

    1.3.2运用截图

    1.3.3注解

    • 它先执行循环体后再判断循环条件,也就是说不管表达式是否成立,总会先执行一次循环体语句;
    • 表达式是任何合法的语句;

    1.4总结三种形式

    • 若给定了循环次数(循环次数明确),首选for语句;
    • 若需要通过其他条件控制循环,则选择while语句或do-while语句(若需先进入循环,则选do-while语句);

    1.5循环中断语句

    1.5.1break语句

    • 将其放入循环体体语句可使循环提前结束退出切不再进入。
      注:break语句也可用于分支结构中的switch语句。

    1.5.2continue语句

    • 将其放入循环体可使其后续的过程被跳过但是下次循环依然继续。

    1.5.3恒循环

    • 循环语句判断的表达式若填入一个非0的常数,如1,2,3,可使循环无限。

    1.2本章学习体会

    1.2.1本章最大的体会就是,运用循环语句解决问题时,三种循环语句的选择和循环体语句的编写非常重要,前者要根据问题的要求不同来判断选择,后者将决定你问题是否得到解决,如果编写不当,将可能导致循环超时(恒循环)或者累乘与累加乘结果错误,由于在进行pta题集练习发生的错误太多,我深刻体会到了学习内容难度的加深,需要我保持一颗耐心,摒住耐性,来仔细探索和纠错

    1.2.2本章代码量大约为756(只记录pta提交代码量,并且不包括修改代码量)。

    2.PTA实验作业(6分)

    2.1念数字

    2.1.1伪代码

    定义变量储存各量
    输入数字
    如果数字<0,变号,并且flag2=1(作为其为负数的标志);
    用一个中间变量temp存储输入值
    用do-while语句计算输入的数有几位
    若flag2=1,输出fu
    将个位数和最大位数取出来并且用分支结构来念最大位数
    将除最大位数和个位数外的中间数用for循环重复取出再念出来
    最后将个位数念出来

    2.1.2代码截图





    2.1.3营造测试数据

    -1,-123,0,123456789,1230,

    2.1.4提交说明


    答案错误:输出时最后一位后面多了空格

    2.2编程打印空心字符菱形

    2.2.1伪代码

    定义各变量存储有关数值
    输入第一个字母和菱形高度
    高度一半=总高度加一除以二
    用switc语句选中层的上面一行的中间空格数
    用for语句来输出每一行,由总行数height决定次数
    {
    分支一:上半部分根据规律输出每一行前面的空格
    输出字母
    第二行开始到中间行根据规律输出空格数并且Ascll加上1
    将下半部分另外处理,分支二:
    如上部分
    }
    将最后一行另外处理,由于其后面不能换行

    2.2.2代码截图




    2.2.3营造测试数据

    A与3,G和9

    2.2.4提交说明


    答案错误:由于数值处理不当(上半部分过度到下半部分时),导致中间两行的字母一样。
    修改:过度时对Ascll码数值减去1。

    2.3换硬币

    2.3.1伪代码

    定义各变量储存相关值
    输入总金额sum
    5分最大个数=总金额/5
    2分最大个数=总金额/2
    1分最大个数=总金额数
    for循环嵌套筛选每种可能性,,输出符合条件的情况

    2.3.2代码截图


    2.3.3营造测试数据

    8,13

    2.3.4提交说明


    部分答案错误:由于没认真审题,即没注意到要求从大到小的顺序,发生了错误。
    解决:修改了for循环表达式,使循环数从大到小递减。

    3.代码互评

    3.1同学代码截图

    3.2自己代码截图


    3.3分析总结

    • 相同点:都设置了一个count变量用于储存素数个数,并且都将第一个素数的输出形式另外处理,都运用了break语句,只要余数为零直接退出循环。
    • 不同点:我将最后的素数和放在循环外输出,而他将其放在循环里,并且用了一个if语句来控制何时输出。
    • 总结:总体结构思路相同,但最后结果的输出我自认为我的选择更好。
  • 相关阅读:
    June. 26th 2018, Week 26th. Tuesday
    June. 25th 2018, Week 26th. Monday
    June. 24th 2018, Week 26th. Sunday
    June. 23rd 2018, Week 25th. Saturday
    June. 22 2018, Week 25th. Friday
    June. 21 2018, Week 25th. Thursday
    June. 20 2018, Week 25th. Wednesday
    【2018.10.11 C与C++基础】C Preprocessor的功能及缺陷(草稿)
    June.19 2018, Week 25th Tuesday
    June 18. 2018, Week 25th. Monday
  • 原文地址:https://www.cnblogs.com/243050cz/p/11708499.html
Copyright © 2020-2023  润新知