zoukankan      html  css  js  c++  java
  • C语言I博客作业08

    1.作业头

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627
    这个作业的目标 <熟练掌握break和continue对循环的作用,还有熟悉循环的嵌套>
    学号 <20209130>

    一、本周教学内容&目标

    第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。

    二、本周作业

    1.PTA实验作业
    2.代码互评
    3.学习总结

    三、作业格式

    1.PTA实验作业(20分/题)

    1.1 7-2 打印九九口诀表 (15分)

    本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。

    1.1.1数据处理

    数据表达:用了变量i,j,N,全是整型变量,N是自然输入得来,i,j是随for循环而变化。
    数据处理:表达式:i++,j++,i<=N,j<=i
             流程结构:for循环结构,for循环的嵌套。
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    5 为5*5乘法表 代码可得到5*5乘法表
    7 为7*7乘法表 代码可得到7*7乘法表
    9 为9*9乘法表 代码可得到9*9乘法表

    1.1.4 PTA提交列表及说明

    提交列表说明:

    1.格式错误:忽略了等号右边数字占4位,导致格式不对,之后把%d*%d=%d改为%d*%d=%-4d。
    2.编译错误:我用printf语句多加上了输入提示,导致编译错误,之后去掉了提示。
    3.答案错误:我把0也算进去了,导致答案不符,之后把i和j重新赋值为1.
    

    1.2 7-4 一钱生多钱 (10分)

    在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。
    编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。

    1.2.1 数据处理

    数据表达:用了n,i,j,k这些变量,它们都是整型变量,n是自然输入得来,i,j,k都是随for循环变化而来。
    数据处理:表达式:i<=n,i++,j<=n,j++,k<=n,k++,i*5+j*2+k*1==n
             流程结构:用了for循环结构和if分支结构。
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    8 five=1,two=1,one=1 只有一个兑换方式
    11 five=1,two=1,one=4 five=1,two=2,one=2 有两种兑换方式
    15 five=1,two=1,one=8 five=1,two=2,one=6 five=1,two=3,one=4 five=1,two=4,one=2 five=2,two=1,one=3 five=2,two=2,one=1 有六种兑换方式

    1.2.4 PTA提交列表及说明

    提交列表说明:

    1.答案错误:少了{}这个大括号,然后一没注意把printf语句放在了for语句里而不是if语句里,之后加上{}把printf用空格退到if语句里了。
    2.答案错误:最后输出答案时忽略了five等的存在,直接用%d输出,导致错误,之后把%d改为five=%d,其余两个同样。
    

    2.代码互评(5分)

    同学代码截图:

    自己代码截图:

    1.对变量的处理习惯不同,我习惯在之后一次性处理完,而同学习惯打出一个语句后处理一下,再打下一个语句。
    2.对语句中的括号的使用不同,我习惯在for等语句之后直接加括号{,而同学习惯换行再加括号{。
    

    同学代码截图:

    自己代码截图:

    1.对语句的使用习惯不同,同学习惯使用while循环语句解决问题,而我习惯使用for语句解决问题。
    2.对嵌套的使用不同,同学习惯嵌套if语句而不使用循环语句的嵌套,而我习惯嵌套循环语句进去。
    

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第八周 20h 400 什么是主函数;代码的储存单元;会打“hello world”
    第九周 24h 450 三个程序结构;各种数据类型;if-else语句的使用
    第十周 28h 500 三个运算的优先级;for循环语句的使用;会输出转换表 for循环的嵌套有些不会
    第十一周 30h 600 进一步熟悉for循环语句;调用数学函数;自己定义函数 自己定义函数不太熟练
    第十二周 28h 580 更进一步学习了多种分支结构的使用;学会了逻辑控制符;学会了else-if语句; 对多种分支结构的使用不太熟练,无法灵活使用
    第十三周 34h 650 明白了逻辑控制符和其他运算符之间的优先级的区别;学会了switch语句;预习了多分支结构的另一种用法; 对多分支结构运用太过死板,想到一种就只会使用一种
    第十四周 36h 680 学习了while和do-while循环语句 while和do-while循环不能灵活运用
    第十五周 24h 500
    第十六周 34h 760 学习了break和continue的使用;循环语句的嵌套 对嵌套中的break和continue语句的使用有时会混乱

    3.2 累积代码行和博客字数(5分)

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    3.3.2 学习体会

    1.这周pta作业加了选择和填空题,感觉挺不错,还有这周的学习比上周还是好很多的,没有上上周那么懵了,但还是对嵌套不怎么熟练。
    2.这周打代码还是可以的,这周打代码的量比任何一周都要多,作业是一个原因,但还有对break和continue语句的熟练也占了很多,整体看还是很不错的。
    3.对代码的思考这一方面,这周也还勉强算满意吧,也算有所收获,打代码的逻辑清晰了一些。
    4.这周好的地方有很多,但不足的地方还是有的,比如这周的训练除了作业里要使用嵌套外,其他时候都只是去练break和continue语句,觉得嵌套好麻烦没去练了,这样不行,不能退缩。
    5.下周还是要保持状态,继承这周的优点,摒除这周的缺点,回回进步,自然就越来越好,继续加油!!冲!!!

    跳出多重循环的方法:
    1.brreak语句:break语句可以直接跳出循环,终止循环。
    2.使用循环条件:巧妙设置循环条件,让循环在想要的地方终止。
    3.使用goto语句:goto语句可以进行跳转,可以直接跳转到终止循环。

  • 相关阅读:
    Xlua侧如何接受CSharp侧的可变参数
    C# 中如何精确地测量一段逻辑的执行时间
    C#中设计一个 ListPool 的方案
    unity中获取设备的信息
    Oracle-游标-取钱-存钱-转账
    Oracle 存储过程与java调用
    PL/SQL loop,while.for循环
    PL/SQL if case when
    PL/SQL %type %rowtype
    Oracle PLSQL入门
  • 原文地址:https://www.cnblogs.com/Long-2001/p/14162441.html
Copyright © 2011-2022 走看看