C语言I作业08
C语言I作业08
这个作业属于哪个课程 | C语言程序设计ll |
这个作业的要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9981 |
我在这个课程的目标是 | 学会do-while和while语句,看翁凯老师的视频 |
这个作业在哪个具体方面帮助我实现目标 | PTA作业 |
参考文献 | 《C语言程序设计》 |
PTA实验作业
1.1 题目7-1求整数的位数及各位数字之和
题目内容描述:对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1 数据处理
(1.)数据表达:定义整形变量N,z,h分别代表输入的正整数,整数位数,各位数之和。
(2.)数据处理:使用了while语句进行循环,通过N的取余再将余数相加可得其各位数之和,再通过N反复除以10,得到的整数通过计数器来累计可得其位数。
(3.)伪代码:
1.1.2 实验代码截图
1.1.3 造测试数据
数据输入 | 数据输出 | 说明 |
123 | 3 6 | 三位数 各位数和为6 |
456 | 3 15 | 三位数 各位数和为15 |
789 |
3 24 | 三位数 各位数和为24 |
159 | 3 15 | 三位数 各位数和为15 |
1.1.4 PTA提交列表及说明
提交列表说明
1.部分正确:未用%来取余。
2.部分正确:未将z,h进行初始化。
3.部分正确:将赋值符号写成了等于符号。
4.部分正确:while(!=0)直接写成了while(N)。
5.部分正确:没有将z进行输出。
1.2 韩信点兵
题目内容描述:在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
- 按从1至5报数,记下最末一个士兵报的数为1;
- 再按从1至6报数,记下最末一个士兵报的数为5;
- 再按从1至7报数,记下最末一个士兵报的数为4;
- 最后按从1至11报数,最末一个士兵报的数为10;
1.2.1 数据处理
(1.)数据表达:定义整形变量N并令其为1。
(2.)数据处理:通过while语句开始循环,其中嵌套if语句将题目随给的情况列出,符合情况则跳出循环输出N,否则令N自增,继续循环。
(3.)伪代码:
1.2.2 实验代码截图
1.2.3 造测试数据
数据输入 | 数据输出 | 说明 |
1 | 2111 | 韩信的兵数为2111 |
2 | 2111 | 韩信的兵数为2111 |
3 | 2111 | 韩信的兵数为2111 |
4 | 2111 | 韩信的兵数为2111 |
1.2.4 PTA提交列表及说明
提交列表说明:
1.答案错误:未令N=1。
2.答案错误:未跳出while循环。
3.答案错误:未进行N的自增。
4.答案错误:while中没有设置为1。
5.答案错误:未令N=1。
2. 代码互评
同学代码截图
本人:
他用的是do-while语句,而我用的是while语句。他定义了6个整形变量,我只定义了一个,我认为我比他这一点要好一些,意味着我的代码所占的内存更少。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
7/10.9-7/10.11 | 19h | 119 | if-else语句和关系运算符 | 关系运算符还需要翻书去查看意思 |
8/10.16-8/10.18 | 16h | 106 | 利用for语句来进行简单的循环 | 如何去定义for语句中的变量 |
9/10.23-9/10.26 | 18h | 110 | 学到了一些关于自定义函数的运用 | 只了解到了自定义函数的皮毛 |
10/10.30-10/11.2 | 19h | 134 | 多分枝结构,逻辑运算符 | 分支过多时会忘记一下符号 |
11/11.6-11/11.8 | 18h | 156 | 通过switch语句来处理多分枝的选择问题 | 如何规范的运用伪代码 |
12/11.13-12/11.15 | 19h | 186 | 使用do-while语句和while语句来处理问题 | do-while的do的编写还是不太明白 |
3.2 累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
第四周 | 600 | 18 |
第五周 | 1253 | 38 |
第七周 | 2133 | 172 |
第八周 | 3276 | 310 |
第九周 | 4528 | 455 |
第十周 | 5875 | 675 |
第十一周 | 8056 | 931 |
第十二周 | 9263 | 1117 |
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.这次看了老师发的伪代码,我学到了很多如何写伪代码的知识。
2.通过代码互评我发现了定义的变量越少,相对于变量多的代码越好。
3.感觉自己对于c语言的学习能力有点怀疑,以后要加大对c语言的学习力度,才能学好这么课程。
4.还有我通过翁凯老师的视频我学到了很多知识,例如如何将两个变量中的数进行交换,这就要引入第三个变量。