C语言I博客作业08
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11610 |
这个作业的目标 | 熟悉break、continue的使用,认识熟悉循环的嵌套使用 |
学号 | 20208929 |
1.PTA实验作业(20分/题)
1.1 题目名1 一钱生多钱
题目内容描述:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。
1.1.1数据处理
数据表达:定义要兑换的金额数N,再以a,b,c分别对应五元,两元,一元,考虑每张数值存在时,面值的情况
数据处理:(伪代码如下)
运用了for的多循环结构表达式:sum=n-5*i-2*j
for(i=1;i<=n/5;i++);for(j=1;j<=50;j++)循环了四次
printf("five=%d,two=%d,one=%d\n",i,j,sum);
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
13 | five=1,two=1,one=6 five=1,two=2,one=4 five=1,two=3,one=2 five=2,two=1,one=1 | 应用题目所给数值编译正确 |
8 | five=1,two=1,one=1 | 换用一个数值,答案无误 |
1.1.4 PTA提交列表及说明 | ||
提交列表说明:1.答案错误:输出值不能成功返回程序再运行,造成答案错误,添加相应字句即可。
1.2 题目2幸运彩票
题目内容描述:彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。
输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!;否则输出 Wish you good luck.。
1.2.1 数据处理
数据表达:用了a,b,c,d,e,f,g,h几个变量,其中a由scanf输入,b为for循环的初始值,c,d,e,f,g,h为循环中的输入值。
数据处理:表达式:c+d+e==f+g+h
流程结构:1.用for(i=1;i<=N;i++)进行行数的循环变化;
2. 用分支语句来判断是否符合彩票幸运的条件,输出相应的语句。
if (c+d+e==f+g+h) {
printf ("You are lucky!\n");
}
else {
printf ("Wish you good luck.\n");
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 233008 123456 | You are lucky! Wish you good luck. | 应用题目所给数值编译正确 |
2 152430 235442 | Wish you good luck. You are lucky! | 用多个数值测试,代码无误 |
1.2.4 PTA提交列表及说明 | ||
提交列表说明:1.答案错误:没有正确定义输入值与输入值的形式,输出格式也不大正确,改正即可。
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图
自己代码截图
1.同学定义一元,二元,五元对应a,b,c更为清晰,而我倾向于范围论问题;
2.同学将N看为前三位与后三位的结合,分开讨论,但是我认为我的办法会更清晰。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花时间 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|
第十五周 | 19 | break,continue的使用以及嵌套循环的熟悉 | 嵌套循环还是很迷惑范围定义,会出现范围重叠 |
3.2 累积代码行和博客字数(5分)
时间 | 博客字数 | 代码行数 |
---|---|---|
第八周 | 666 | 64 |
第九周 | 705 | 105 |
第十周 | 1180 | 180 |
第十一周 | 1500 | 203 |
第十二周 | 1208 | 197 |
第十三周 | 1126 | 169 |
第十四周 | 1227 | 173 |
第十五周 | 1328 | 184 |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
体会:新学习的continue以及嵌套循环的运用,以及之前学习的while语句,一直会迷惑,范围重叠的问题时常出现,今后会努力解决这个问题
课堂总结:1.命名goto,它可以快速跳出多重循环
2.在外层循环设置判断条件;
3.在大循环后面判断标志加入break。