| 这个作业属于那个课程 | C语言程序设计II |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9978 |
| 我在这个课程的目标是 | 学会如何用do-while语句和while语句进行正确的编程 |
| 这个作业在那个具体方面帮助我实现目标 | 通过习题的练习,对do-while语句和while语句有一定的了解,培养了逻辑思维能力 |
| 参考文献 | 百度,《PTA系统常见问题及解答》,C Prime Plus,《C语言程序设计》 |
1PTA实验截图
1.1求整数的位数及各位数字之和

1.2数据处理
数据表达:
1.根据题目用N定义输入的数,sum表示数字之和,count++表示有几位数的含义;
2.sum=0;count=0;来定义其初始值;
3.N%10表示取余, N=N/10表示取整。
数据处理:
1.使用了do-while语句,且while后要打分号;
2.printf("%d %d\n",count,sum);表示输出结果。
1.3实验代码截图

1.4造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 321 | 3 6 | 加以验证 |
| 666 | 3 18 | 增加实验结果的可靠性 |
| 8085 | 4 21 | 增加实验结果的可靠性 |
1.5PTA提交列表及说明

Q1:多定义了一些没有用到的变量如i,b
A1:删除没用的变量
Q2:未理解题意,使用了pow函数而且没用# include<math.h>进行说明
A2:除掉这些没用的语句,直接使用do-while语句进行编程
说明:没有用的变量不能随便加,含++前的变量要定义初始值,区分N%10与N=N/10之间的差别
2.1 爬动的蠕虫

2.2数据处理
数据表达:
1.根据题目用N定义井的高度,U定义蠕虫每1分钟爬行的距离,D表示下滑了的距离,t表示时间,h表示爬行的总高度
2.写了h与U,N,D之间的关系表达式
数据处理:
1.用while语句,并结合了if与break语句;
2.printf("%d",t);来输出结果。
2.3实验代码截图

2.3造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 12 3 1 | 11 | 验证是否正确 |
| 36 5 2 | 17 | 增加实验结果的可靠性 |
| 48 6 2 | 23 | 增加实验结果的可靠性 |
2.4PTA提交列表及说明

Q1:显示部分正确
A1:在我的编程里没有使用变量D及其有关语句,加上h=h-D;和t++;
Q2:显示答案错误
A2:h=h-D;和t++;加在了break语句前,造成错误,将语句放到break语句后;
说明: h=h+U;t++;此语句是用来说明未达一分钟就到顶,h=h-D;t++;此语句说明时间超过一分钟后所用的时间,故要放到break语句后。
2.代码互评
同学代码:

我的代码:

互评结果:
- 他用的是for语句,我用的是do-while语句,故他比我多定义了变量i;
- 它的编程没有使用return 0;语句也是对的;
总体上来说,思路都差不多
同学代码:

我的代码:

互评结果:
- 我比他多使用了if(h>=N) break;来说明当爬行的高度大于井的高度是,直接停止,让人更容易读懂
总体上来说,思路都差不多
3.学习总结
3.1学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较疑惑的问题 |
|---|---|---|---|---|
| 第一周 | 2小时 | 30行 | 如何空格,控制字符 | 编译的格式 |
| 第二周 | 2.5小时 | 40行 | 求华氏温度 | printf的使用方法 |
| 第三周 | 4.5小时 | 80行 | 分段函数的编写 | if-else不能灵活使用 |
| 第四周 | 2天 | 90行 | 循环语句for的使用 | 不会正确的变形,理不清题意 |
| 第五周 | 2天 | 200行 | 水仙花数的表示方法;个位数字平方和的表示方法 | 对陌生的概念不太了解,难以正确编程 |
| 第六周 | 2天 | 260行 | if与else语句与for语句的综合使用,逻辑运算符,字符型char | 题意与如何构思能力还有待提高 |
| 第七周 | 2天 | 220行 | switch语句的使用,以及一些常见的格式 | 不能正确的编程,如何解决问题的能力还有待提高 |
| 第八周 | 2天 | 230行 | 如何用do-while语句和while语句,并区分与for语句的不同地方 | 题意还是不能完全读懂,难以正确的编程 |
3.2累计代码行和博客字数

3.3学习内容总结与感悟
思维导图:

内容总结:
- 明白一些常见的错误类型,如答案错误表示与题意输出的内容不符或输出的结果不同,编译错误常见的问题是标点符号不打或打错,运行超时的常见问题是输入了不要输入的内容,多种错误常见的问题是多定义了一些没有用到的变量,且再编程上还出现了语法错误;
- 学会如何用do-while语句和while语句,并区分与for语句的不同地方,for语句是已知道了循环次数,while语句是有明确的终止条件;
学会了如何在Dev-C++如何调试
感悟:
- C语言是一门语言,要想学好学会就要多加练习,要从本质上分析问题并解决问题
- 学习过程中会遇到一些难题,这时就离不开老师与同学的帮助,多问还是有必要的
做题过程中会遇到许多未学过的知识,这就需要我们多看课外书并预习课本上还没教的知识
