C语言I博客作业09

一、本周教学内容&目标

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

二、

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10029
我在这个课程的目标是 学会自己编程,熟练的敲代码
这个作业在那个具体方面帮助我实现目标 对语句的熟练程度
参考文献 《PTA常见问题解答》伪代码的写法:https://www.cnblogs.com/huipengkankan/archive/2011/07/28/2120416.html,《c语言程序设计,》评价标准:https://www.cnblogs.com/pengchen511/p/10564067.html

三、本周作业

1.PTA实验作业
![](https://img2018.cnblogs.com/blog/1806805/201911/1806805-20191122194037025-1871776196.png)

1.1

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?

  • 1.1.1数据处理

变量 变量来源 变量类型
i 输入 整形(int)
a,b,c,d,y 随x变化而变化 整形(int)
数据处理
``` int x, a, b, c, d←0, y;//定义变量x表示输入钱的量,a,b,c,代表兑换五分,两分,一分的数 输入x a ← x / 5; while (a ≠ 0) { y ← x - (5*a); b ← y / 2; while (b ≠ 0) { c ← y - (2*b); if ((5*a + 2*b + c = x) and (c > 0)) then d++, 输出 a, b, c, a+b+c b←b-1; } end a←a-1; } end 输出d ``` * ### 1.1.2实验代码截图 ![](https://img2018.cnblogs.com/blog/1806805/201911/1806805-20191122113244617-1428355336.png)
  • 1.1.3造测试数据

输入数据 输出数据 说明
8 有一种换钱方法
13 有四种换钱方法
14 有五种换钱方法
  • 1.1.4 PTA提交列表及说明

❶答案错误:增加了一个N的限制条件,在c++上运行答案没错,但pta上不行。
方法:将N的限制条件删掉
❷答案错误:在c++上也是对的,不知道错在哪里,调整了一些空格就对了。

1.2、

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

  • 1.2.1数据处理

数据表达:

变量 变量来源 变量类型
N, U, D, T 输入 整形(int)
t 随自变量变化而变化 整形(int)
数据处理
``` int i, j, m, N; //定义变量i表示行数,j表示列数,m判断N的奇偶,N输入量 char ch; //定义字符变量ch 输入N,ch if(N Mod 2 = 0) then[m ← N/2] else then[m ← N/2+1] for i←0 to m { for j←0 to N { 输出ch } end 输出换行 } end ``` * ### 1.2.2实验代码截图 ![](https://img2018.cnblogs.com/blog/1806805/201911/1806805-20191122181558594-688116226.png)
  • 1.2.3 造测试数据

输入数据 输出数据 说明
7 Q 检查是否正确
10 a 输入样例
  • 1.2.4 PTA提交列表及说明

❶答案错误:在定义char时将用了“ch=getchar()”,导致答案错误。
❷部分正确:只注意N为奇数时的情况,乎略了N可能为偶数。
方法:加一个if-else语句
2.代码互评
![](https://img2018.cnblogs.com/blog/1806805/201911/1806805-20191122193925125-1870303855.png)
❶我使用了while循环语句,两位同学都用的是for循环。
❷在定义五分,两分,一分三个变量时,第二个同学是直接定义,而们是直接输出时使用fen
❸我使用一个while和if语句确定了三个数的个数,第一个同学用三个for循环确定三个数的个数,而第二个同学使用了两个for循环就确定下来
3.学习总结
### 3.1 学习进度条
周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 9小时 29 简单的写代码
第二周 9小时 16 温度的转换
第三周 16小时 80 if-else语句 scanf的使用
第四周 25小时 85 for循环语句使用 有些时候变量不是很清楚
第五周 3天 86 怎样定义函数 有的函数体自己无法写出
第六周 2天 197 了解多分支结构,学会运用字符型数据类型和逻辑运算符 不能准确的使用关系运算符与逻辑运算符
第七周 2天 115 熟练的运用switch结构 在switch语句中灵活使用break
第八周 2天 91 while与do-while的不同,以及while循环与for循环的异处 伪代码的编写
第九周 2天 87 循环嵌套,break,continue的使用 对continue的使用方法不是很了解

3.2累积代码行和博客字数

3.3 学习内容总结和感悟

  • 3.3.1 学习内容总结

  • 3.3.2 学习体会

收获:
❶break语句,在循环语句中使用break会出现两个出口,所以在编程序的时候还要判断一下是哪个出口;
❷定义一个flag,增强代码的可读性;
❸输入continue,continue以下的循环语句停止
❹循环语句的嵌套
 感悟:
1.随着知识的不断储备,题目的解决方法越来越多,每个人都有自己比较熟练的方式。例如一些语句的嵌套,顺序不同,解决的问题就不一样。所以对各种语句的使用要熟练。
2.编写代码时,格式真的很重要。特别是一些空格的处理。
原文地址:https://www.cnblogs.com/lbb6/p/11910844.html