| 这个作业属于那个课程 | C语言程序设计II |
| 这个作业要求在哪里 | 作业要求 |
| 我在这个课程的目标是 | 掌握C语言,为学习其他的语言打好基础 |
| 这个作业在那个具体方面帮助我实现目 | 熟悉使用while和do-while结构解决问题 |
| 参考文献 | 《C语言程序设计》 |
1.PTA实验作业

1.1 求整数的位数及各位数字之和
- 题目描述: 对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1数据处理
数据表达:采用了int型分别定义了变量count、sum、n,然后给count,sum赋值为零。 数据处理:使用了while结构执行语句,表达式有count++,sum+=n%10等
1.1.2实验代码截图

1.1.3 造测试数据
| 数据输入 | 数据输出 | 说明 |
|---|---|---|
| 321 | 3 6 | 运行图 |
| 4321 | 4 10 | 运行图 |
| 54321 | 5 15 | 运行图 |
1.1.4 PTA提交列表及说明

* 答案错误:while结构中的循环体表达式顺序不严谨(解决措施:与前面的定义和后面的输出相对应)
1.2 韩信点兵
题目描述:在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
- 按从1至5报数,记下最末一个士兵报的数为1;
- 再按从1至6报数,记下最末一个士兵报的数为5;
- 再按从1至7报数,记下最末一个士兵报的数为4;
- 最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
1.2.1 数据处理
数据表达:本题我只定义了一个变量i,采用的数据类型是int型 数据处理:在while结构中嵌套了if-else语句,表达式主要是if条件((i%5==1)&&(i%6)==5&&(i%7)==4&&(i%11)==10)
1.2.2实验代码截图

1.1.3 造测试数据
| 数据输入 | 数据输出 | 说明 |
|---|---|---|
| 本题无输入 | 2111 | 运行图 |
1.2.4 PTA提交列表及说明

2.代码互评
-
- 同学甲直接使用了while结构执行语句,简单明了
- 总体来说,同学甲的代码值得我学习,我的代码过于复杂
-
- 同学乙的代码定义的变量过多,还是很复杂
- 同学乙的代码整体上看起来有点复杂,我的相对能理解一些
3.学习总结
3.1 学习进度条
| 日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较困惑的问题 |
|---|---|---|---|---|
| 第一周 | 5个小时左右 | 28行 | 初步学习markdown写博客,更加系统的了解专业知识 | markdown语法掌握不全 |
| 第二周 | 9个小时左右 | 16行 | 明智的提问技巧,安装编译器编译C语言 | 无 |
| 第三周 | 16个小时左右 | 82行 | 计算掌握分段函数所涉及的关系运算、if-else语句、格式化输入语句scanf(),以及常用的数学库函数 | if-else语句比较迷 |
| 第四周 | 6个小时左右 | 91行 | for语句的学习使用 | for语句中第二个表达式还不太会算 |
| 第五周 | 13个小时左右 | 86行 | 函数的定义与调用,还有while循环语句的初步使用 | 实参与形参,主调函数与被调函数,容易混淆 |
| 第六周 | 2个小时左右 | --- | ||
| 第七周 | 9个小时左右 | 117行 | 多分支结构switch语句的使用 | 还不太会使用switch语句 |
| 第八周 | 6个小时左右 | 107行 | 熟悉使用while和do-while结构解决问题。 | 虽然学习了while,但不太会使用while结构来具体解决问题 |
3.2 累积代码行和博客字数

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

3.3.2 学习体会
1. 随着学习的进一步深入,知识内容越来越广泛,代码作业也越来越难,很多东西都要和之前串联起来,可以说学习是一个慢慢积累的过程吧, 2. 然后就是代码得经常敲,隔几天不敲,都不知道自己写的啥了,所谓“熟能生巧”,但是我们得先熟悉了,至少保证知道自己写的啥,所以一定要花时间经常练习代码。 3. 随着课程的进行,学到的知识越来越多,同时不懂的点也越来越多,所以需要及时去查找这些不懂的知识点,不要拖,问题的积累,到最后弊端一定会越来越明显,会导致你丧失对这门课程的兴趣,所以要及时弄懂