C语言I博客作业09

二、本周作业头

这个作业属于那个课程|C语言程序设计II
---|:--😐:--😐---|
这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10030
我在这个课程的目标是|学会更多编程技巧,以及学会更多知识
这个作业在那个具体方面帮助我实现目标|通过学习嵌套循环来简约代码编程
参考文献|<c语言程序设计>

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<n;i++) //表示乘法口诀的列。
再次运用for(j=1;j<i;j++) //进行嵌套表示乘法口诀的行。
再printf("%d*%d=%-4d",j,i,j*i) //表示输出乘法口诀的值的表示。
printf("\n") //表示下一行的表示

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.只有动手自己去完成才知道自己哪里还不是很懂,哪里需要继续努力。

posted on 2019-11-22 18:10  夏日之秋  阅读(113)  评论(6编辑  收藏  举报