C语言I博客作业08
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11611 |
| 这个作业的目标 | <第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题> |
| 学号 | <20208981> |
1.PTA实验作业

1.1 幸运彩票

1.1.1数据处理
数据表达:定义了整型变量N,number,i,a,sum1,sum2;N为行数,number为输入的彩票数字,i为循环变量
数据处理:使用了for循环语句,if-else分支语句
表达式:
sum1=sum2=0;
a=number/100000;
sum1=sum1+a;
a=(number/10000)%10;
sum1=sum1+a;
a=(number/1000)%10;
sum1=sum1+a;
a=(number/100)%10;
sum2=sum2+a;
a=(number/10)%10;
sum2=sum2+a;
a=number%10;
sum2=sum2+a;
1.1.2实验代码截图

1.1.3 造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| 2 233008 123456 | You are lucky! Wish you good luck. | 输入2行彩票的数字,第一个为幸运,第二个不幸运 |
| 3 233008 123456 456789 | You are lucky! Wish you good luck. Wish you good luck. | 输入3行彩票的数字,第一个为幸运,第二个不幸运,第三个为幸运 |
| 4 233008 123456 456789 123789 | You are lucky! Wish you good luck. Wish you good luck. Wish you good luck. | 输入4行彩票的数字,第一个为幸运,第二个不幸运,第三个为幸运,第四个不幸运 |
1.1.4 PTA提交列表及说明

提交列表说明:
答案错误:把“Wish you good luck.”输出成“Wish you good luck”,少了一个点
1.2 Wifi密码

1.2.1 数据处理
数据表达:定义了整型变量N, i;定义了字符op1, op2;N为行数,op1为题目选项,op2为正确与否,i为循环变量
数据处理:使用了for循环语句,if支语句
表达式:
op1 == 'A' && op2 == 'T'
op1 == 'B' && op2 == 'T'
op1 == 'C' && op2 == 'T'
op1 == 'D' && op2 == 'T'
1.2.2 实验代码截图

1.2.3 造测试数据

1.2.4 PTA提交列表及说明

提交列表说明:
答案错误:没有弄清scanf如何输入字符,将for语句中的判断语句改为i <= 8 * N;
2.代码互评
同学代码1:

自己代码:

1.该同学使用的变量名比我多
2.该同学使用了循环的镶嵌,而我只使用了一个for语句
同学代码1:

自己代码:

1.该同学使用了for语句的循环镶嵌,而我没有
2.该同学的变量比我多一个
3.该同学在最后输出了一个回车
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 第一周 | 7h | 45 | 显示hallo world,数据类型,求摄氏温度 | 对一些字符的含义不理解 |
| 第二周 | 12 h | 98 | 学会一些基本的运算符,和printf的格式 | 对数据类型的选择不太清楚 |
| 第三周 | 21 h | 146 | 学会了if-else语句,scanf的格式,库函数的调用,for语句 | 不太理解预算符的运算法则 |
| 第四周 | 26 h | 178 | 定义与调用自定义函数 | 不清楚有些符号的作用 |
| 第五周 | 29h | 236 | 多分支结构、字符型数据类型和逻辑运算符 | 对省略else的结构不太理解 |
| 第六周 | 33h | 288 | 多分支结构switch语句 | break的使用以及switch语句中default的作用不太理解 |
| 第七周 | 36 h | 356 | while和do-while结构 | 容易弄错while循环结束时条件是真还是假 |
| 第八周 | 36 h | 365 | break、continue的使用,循环的嵌套 | 容易弄错循环判断条件,形成死循环 |
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
1.感觉这周的作业比以往要难,那个菱形的题目,还需要自己学习C++的cin语句去处理数据输出的结束,找了很多资料,学不会,自己用scanf处理,弄这个题弄了一天,直接心态爆炸,最终放弃治疗
2.对于scanf输入字符不是很清楚,不明白为什么字符串的输入需要输入两次,最后的那个WiFi密码的题,输出的答案老是只有一半,调试了十多遍,才知道那玩意要在循环里面转两遍才输进去一个
3.感觉自己对每个所学过的知识了解和掌握的并不完全,需要自己去不断发现和完善
对于如何跳出多层循环嵌套:
1.在每层循环中都使用break,但是需要是每个break在特定的条件执行;
2.在最内层的循环中使用return,但是return不但会跳出循环,还会终止程序;
3.使用goto语句,只需要将goto后面的标号放置在所有循环外即可;

浙公网安备 33010602011771号