一、本周教学内容&目标
第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
三、本周作业
![](https://img2018.cnblogs.com/blog/1806805/201911/1806805-20191122194037025-1871776196.png)
1.1
将一笔零钱换成5分、2分和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)
输入数据|输出数据|说明
---|:--😐:--😐--:
8||有一种换钱方法
13||有四种换钱方法
14||有五种换钱方法
❶答案错误:增加了一个N的限制条件,在c++上运行答案没错,但pta上不行。
方法:将N的限制条件删掉
❷答案错误:在c++上也是对的,不知道错在哪里,调整了一些空格就对了。
1.2、
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!
数据表达:
变量 |
变量来源 |
变量类型 |
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)
输入数据|输出数据|说明
---|:---😐:---😐---:
7 Q||检查是否正确
10 a||输入样例
❶答案错误:在定义char时将用了“ch=getchar()”,导致答案错误。
❷部分正确:只注意N为奇数时的情况,乎略了N可能为偶数。
方法:加一个if-else语句
![](https://img2018.cnblogs.com/blog/1806805/201911/1806805-20191122193925125-1870303855.png)
❶我使用了while循环语句,两位同学都用的是for循环。
❷在定义五分,两分,一分三个变量时,第二个同学是直接定义,而们是直接输出时使用fen
❸我使用一个while和if语句确定了三个数的个数,第一个同学用三个for循环确定三个数的个数,而第二个同学使用了两个for循环就确定下来
### 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 学习内容总结和感悟
收获:
❶break语句,在循环语句中使用break会出现两个出口,所以在编程序的时候还要判断一下是哪个出口;
❷定义一个flag,增强代码的可读性;
❸输入continue,continue以下的循环语句停止
❹循环语句的嵌套
感悟:
1.随着知识的不断储备,题目的解决方法越来越多,每个人都有自己比较熟练的方式。例如一些语句的嵌套,顺序不同,解决的问题就不一样。所以对各种语句的使用要熟练。
2.编写代码时,格式真的很重要。特别是一些空格的处理。