二、本周作业头
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10030 |
我在这个课程的目标是 | 学会更多编程技巧,以及学会更多知识 |
这个作业在那个具体方面帮助我实现目标 | 通过学习嵌套循环来简约代码编程 |
参考文献 |
1.PTA实验作业(20分/题)
1.1 题目名1
题目内容描述:
下面是一个完整的下三角九九口诀表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
本题要求对任意给定的一位正整数N,输出从1*1到N*N的部分口诀表。
1.1.1数据处理
介绍实现本题过程中,你的数据表达、数据处理是怎么做的。
数据表达:用了j,i来表示乘法表的行和列的变量,运用了嵌套循环类型结构
数据处理:运用for语句进行嵌套循环,for(i=1;i
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 | |
---|---|---|---|
4 | ![]() |
输出样式 | |
5 | ![]() |
输出样式 | |
9 | ![]() |
输出样式 |
1.1.4 PTA提交列表及说明
根据PTA提交列表,简要描述调试程序碰到的问题及解决办法。
提交列表说明:
部分错误:忘记考虑行与列放置的位置,i和j的位置反了
解决方法:在输出printf中将i和j的顺序换一下
1.2 题目2
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
1.2.1 数据处理
数据表达:运用了x表示它的输入值,在输入int wf,ef,yf;表示硬币的大小,count表示换法有多少种,运用的是嵌套循环结构类型
数据处理:运用for语句进行编程数据结果, for(int i=x/5;i>0;i--) //表示输入值能够换取多少个五分的硬币。
for(int j=x/2;j>0;j--) //表示输入值能够换取多少给二分的硬币。
for(int k=x;k>0;k--) //表示输入值能够换取多少个一分的硬币
if(i*5+j*2+k==x) //表示一共需要换取多少个硬币。
printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n", i, j, k, k + j + i); //表示换取的硬币可以有多少种硬币,以及多少个硬币个数。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 | |
---|---|---|---|
13 | 4 | 说明硬币换取有4种 | |
16 | 7 | 说明硬币换取有7种 | |
15 | 6 | 说明硬币换取有6种 |
1.2.4 PTA提交列表及说明
答案错误:忘记硬币换取可以有多种结果,导致只有一种结果
解决方法:在printf后面加上count++;
答案错误:把空行写出这样printf("\n",count);找了好久都不知道哪里错误。
解决方法:看了一下同学的代码发现要写出这样printf("count = %d",count),才是正确
2.代码互评(5分)
同学代码截图 | 自己代码截图 |
---|---|
![]() |
![]() |
这位同学的代码和有很大的区别,她选择的是用fent作为变量,然后在fent进行选择每种硬币需要多少个,而我的是用一共多少钱输入值x作为变量,然后x/每种硬币的值往下减,再输出硬币的个数,最后输出多少种换法。
同学代码截图 | 自己代码截图 |
---|---|
![]() |
![]() |
这位同学运用的是while语句,在运用表达式逐渐减,在利用if语句条件选择,输出可以换取多少种,而我的运用的是for语句进行嵌套循环,进行逐减硬币的份额的大小,在输出可以换取多少种。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
等一周9.19-9.27 | 7天 | 28行 | 学会了如何开始进行编辑和简单的程序 | 为什么在编辑时要这么严厉,错一个符号都会是编译错误 |
第二周9.25-910.4 | 5天 | 20行 | 学会了如何用已学知识举一反三 | 为什么有时候用一个字母代表不行,有时候又可以 |
第三周10.8-10.12 | 4天 | 136行 | 难度加大的编程 | 不知道如何简写编程 |
第四周10.15-10.18 | 3天 | 120 | 指定次数的循环程序设计 | 不知道如何将分子和分母都是变量的情况下编写程序 |
第五周10.23-10.26 | 4天 | 89 | 学习函数的运用和表达 | 不知道运用那种流程正确表达函数运用较为正确 |
第六周10.28-11.2 | 3天 | 130 | 学习分支结构多次if-else循环 | 不知道在哪里打上中括号同时满足条件 |
第七周11.5-11.8 | 2天 | 140 | 学习switch语句的运用 | 不知道如何表达switch语句的表达式,还不是很熟练 |
第八周11.12-11.15 | 2天 | 130 | 学习while和do-while的运用 | 条件在while语句中不知道如何表达才是正确的 |
第九周11.19-11.22 | 2天 | 120 | 学习了嵌套循环的运用 | 无 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.本次作业老师在上课的时候有分析,所以会一点点,在百度一下作业也就完成了,没有上周那样完全不理解,题目的意思,导致浪费很多时间,因此还有一道题没有写完。
2.这周的作业也有一点点困难,但是我学着克服困难,我也会越来越好的。也不会在说c语言很难,很困难,不会等等。
3.只有动手自己去完成才知道自己哪里还不是很懂,哪里需要继续努力。