这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11610 |
我在这个课程的目标是 | 更好的理解现在所学习的内容,补充细节和框架 |
这个作业在哪个具体方面帮助我实现目标 | 思维导图和代码互评 |
参考文献 | 《C Primer Plus》《C语言程序设计》(第三版) |
1.PTA实验作业
1.1 7-3 字符菱形 (10分)
根据读入的字符和边长,勾画字符菱形。
1.1.1 数据处理
数据表达:
1.变量n:整型,由输入得来;
2.变量c:字符型,由输入得来;
3.变量i,j:整型,有赋值得来。
数据处理:
表达式:赋值表达式,关系表达式,算数表达式;
流程结构:while循环,for循环。
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
A 5 | 字符为A,输出第五行为最大行的菱形 | |
B 3 | 字符为B,输出第三行为最大行的菱形 |
1.1.4 PTA提交列表及说明
1.多种错误:包括答案错误和格式错误;
2.编译错误:从vs复制粘贴时少了一部分代码;
3.答案错误:输入语句中的问题,空格去掉了本应该存在的字符变量c,多输出了一个空格菱形。
1.2 7-4 一钱生多钱 (10分)
在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。
编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。
1.2.1 数据处理
数据表达:
1.变量x:为整型,由输入得来;
2.变量i,j,k:为整型,由赋值得来。
数据处理:
表达式:赋值表达式,计算表达式,关系表达式。
流程结构:for循环,if-else语句。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
13 | 有四种兑换方式 | |
20 | 有13种兑换方式 |
1.2.4 PTA提交列表及说明
1.部分正确:忘了保持每种面值的纸币至少一张;
2.答案错误:忘了每种输出可能后换行。
2.代码互评
同学代码:
自己代码:
1.同学的代码将100个素数的范围求了出来,所以当m大于那个范围时直接输出overflow,小于那个范围输出no,而我则是用数组,当存到第101个时再输出overflow。
2.同学将素数判断写在了主函数里,并且整体比我更简洁,而我将素数判断写在了自定义函数中,使主函数的判断更简洁,主函数更多是存放数组以及输出,作用更明了。
3.学习总结
3.1学习进度条
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
---|---|---|---|---|
第八周 | 30小时 | 600 | 基础知识,输入输出函数if-else语句 | 无 |
第九周 | 30小时 | 700 | for循环,while循环,switch语句,数组 | 怎样用数组打出金字塔和蛇形数组 |
第十周 | 30小时 | 500 | 无 | 二维数组的使用 |
第十一周 | 25小时 | 550 | 自定义函数,命名法 | 怎样解决自己的暴力解题思路,让代码更直观简洁 |
第十二周 | 27小时 | 550 | string.h | 怎样解决自己的暴力解题思路,让代码更直观简洁 |
第十三周 | 25小时 | 600 | 无 | 不知道自己该往哪学 |
第十四周 | 26小时 | 650 | 无 | 无 |
第十五周 | 25小时 | 600 | 指针,枚举,结构体 | 指针的运用不熟练,都看得懂,但是一用就有问题了 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
3.3.2学习体会
这周自学了一下指针枚举和结构体,指针虽然看都看得懂,但是实际使用的时候问题却很多,枚举理解的很快,但结构体还没看完,但我感觉看完结构体,我的知识层面又会扩大很多,反正冲吧。
3.3.3如何跳出多层循环
1.使用goto()语句,直接跳到指定位置;
2.在循环中使用return,直接结束程序运行;
3.直接修改外层条件,是最大循环无法进行;
4.在外层循环设置判断条件,不满足时直接全部跳出。