C语言I博客作业08
|这个作业属于那个课程 |https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
| ---- | ---- | ---- |
|这个作业要求在哪里 |https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11611 |
|我在这个课程的目标是 |熟悉break、continue的使用和熟悉使用循环的嵌套解决问题。 |
|学号 |20208983 |
一、本周作业
1.PTA实验作业

1.1 幸运彩票 (15分)
彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。
1.1.1数据处理
数据表达:用到了需要输入的整型i,n,a,f,m,F,h;;
数据处理:
表达式:
i=1;i<=n;i++
f=a%10;
m++;
F=f+F;
h=h+f;
a=a/10;
h=0;
F=0;
m=0;
流程结构:运用了for循环,while循环,if-eise if语句镶嵌处理数据;
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 2 233008 123456 | You are lucky! Wish you good luck. | 输出两个数,前一个为幸运号码,后一个不是幸运号码 |
| 3 241007 124601 267123 | You are lucky! You are lucky! Wish you good luck. | 输出三个数,前两个为幸运号码,后一个不是幸运号码 |
| 2 123403 234018 | Wish you good luck. You are lucky! | 输出两个数,前一个不是幸运号码,后一个为幸运号码 |
| 3 102003 341305 237829 | You are lucky! You are lucky! Wish you good luck. | 输出三个数,前两个为幸运号码,后一个不是幸运号码 |
1.1.4 PTA提交列表及说明

问题:答案错误:一开始忘记将数据清零,导致答案错误;
解决:在第27.28.29行加上表达式h=0;F=0;m=0;
1.2 Wifi密码 (15分)
下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。
1.2.1 数据处理
数据表达:运用到了需要输入的整型n,i,j;字符型m,h;
数据处理:
表达式:
i=1;i<=n;i++
j=1;j<=8;j++
m=='A'&&h=='T'
m=='B'&&h=='T'
m=='D'&&h=='T'
m=='C'&&h=='T'
流程结构:运用了for循环镶嵌,if-else if语句处理数据;
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 3 A-T C-F B-F D-F;D-T B-F C-F A-F;C-T A-F B-F D-F | 143 | 由输入数据得到WiFi密码为输出数据 |
| 2A-T B-F C-F D-F;C-T B-F A-F D-F | 13 | 由输入数据得到WiFi密码为输出数据 |
| 3 A-F D-F C-F B-T;B-T A-F C-F D-F | 22 | 由输入数据得到WiFi密码为输出数据 |
| 2 A-F D-T C-F B-F;B-T A-F C-F D-F | 42 | 由输入数据得到WiFi密码为输出数据 |
1.2.4 PTA提交列表及说明

问题:答案错误:一开始在第九行j<=8,将八写成了四,导致有数据漏掉了
解决:将4改为8,避免漏数据
2.代码互评
同学代码截图


自己代码截图

1.第一位同学用到了for循环和if-else if语句;第二位同学用到了for循环和将数据取余进行处理;
2.自己用到了for循环和while循环,if语句处理数据
3.第一位同学的代码比较简洁,代码排版清晰;第二位同学在处理数据方面比较复杂,但是比较易懂;自己的代码也比较易懂,但是排版较乱,不清晰。
3.学习总结
3.1 学习进度条
| 日期 | 所花时间 | 代码行 | 学习内容 | 迷惑点 |
|---|---|---|---|---|
| 第一周10.12——10.18 | 8h | 30行 | 变量的类型 | 无 |
| 第二周10.19——10.31 | 15h | 110行 | if-else语句 | 无 |
| 第三周11.2——11.8 | 20h | 130行 | for循环 | 无 |
| 第四周11.9——11.15 | 23h | 160行 | 自定义函数 | 无 |
| 第五周11.16——11.22 | 25 | 240行 | 分支结构 | else——if语句的格式 |
| 第六周11.23——11.29 | 26h | 300行 | switch语句 | 无 |
| 第七周11.30——12.6 | 30h | 430行 | while语句 | 无 |
| 第八周12.7——12.13 | 32h | 450行 | break、continue的使用和循环的嵌套 | 语句镶嵌的格式 |
3.2 累积代码行和博客字数
| 时间 | 博客字数 | 代码行数 |
|---|---|---|
| 第一周 | 约500 | 30行 |
| 第二周 | 约600 | 110行 |
| 第三周 | 约800 | 130行 |
| 第四周 | 约1000 | 160行 |
| 第五周 | 约1100 | 240行 |
| 第六周 | 约1300 | 300行 |
| 第七周 | 约1400 | 430行 |
| 第八周 | 约1600 | 450行 |
![]() |
3.3 学习内容总结和感悟
3.3.1 学习内容总结

怎样跳出多重循环结构:
1.使用goto语句。
2.使用return函数。
3.直接修改外层循环条件。
4.在外层循环设置判断条件。
5.在大循环后面判断标志加入break。
3.3.2 学习体会
1.本周学习了break、continue的使用和循环的嵌套,并且能运用解决一些简单的问题,但是解决难一点的问题还是有一点慢,不熟练,需要多加练习。
2.在本周的作业中,还是有和上周一样的问题,缺少和同学的交流,导致自己做题的思维不开放,做题速度慢,希望自己在下周可以有所改变。
3.本周学习发现自己自主学习比较差,不会去提前预习,导致做题时遇到没学的知识一脸懵,不知如何下手,在以后的学习中,希望自己多去复习,多自主学习。


浙公网安备 33010602011771号