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.还有我通过翁凯老师的视频我学到了很多知识,例如如何将两个变量中的数进行交换,这就要引入第三个变量。
C语言I作业08的更多相关文章
- | C语言I作业12
C语言I作业12-学期总结 标签:18软件 李煦亮 问题 答案 这个作业属于那个课程 C语言程序设计I 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/S ...
- C语言博客作业08
C语言I博客作业08](https://www.cnblogs.com/490-85-00-58-/p/11863312.html) 问题 回答 这个作业属于那个课程 C语言程序设计II 这个作业要求 ...
- C语言I作业12-学期总结
一.我学到的内容 二.我的收获 我完成的作业: 第一次作业 C语言I博客作业02 C语言I作业004 C语言I博客作业05 C语言I博客作业06 C语言I博客作业07 C语言I博客作业08 C语言I博 ...
- C语言I作业12一学期总结
一.我学到的内容 二.我的收获 作业 收获 C语言I博客作业01 学会了编程"Hello word" C语言I博客作业02 安装编译器,将代码建立在自己的文件里面 C语言I博客作业 ...
- 第二周c语言PTA作业留
6-1 计算两数的和与差(10 分) 本题要求实现一个计算输入的两数的和与差的简单函数. 函数接口定义: void sum_diff( float op1, float op2, float psum ...
- BMP图像直方图均衡算法(C语言大作业)
万丈高楼平地起 C语言大作业 一.学习笔记篇 1.学习MarkDown MarkDown注重写作本身,而非花俏的界面 编辑器:vscode 插件:Markdown,Markdown Preview 2 ...
- C语言1作业5
问题 答案 这个作业属于那个课程 C语言程序设计1 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2 我在这个课程的目的是 学习并掌握C ...
- | C语言I作业04
| C语言I作业004 标签: 18软件 李煦亮 问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://www.cnblogs.com/pengchen511/p/ ...
- | C语言I作业03
| C语言I作业03 标签: 18软件 李煦亮 问题 答案 这个作业属于那个课程 C语言程序设计I 这个作业要求在哪里 https://edu.cnblogs.com 我在这个课程的目标是 学会和掌握 ...
随机推荐
- RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...
- 表格导出到excel的样式消失该如何修改
工作中遇到一需求,要将后台的表格导出到excel后的表格样式该如何修改呢? 其实表格导出首先需要了解两个插件:jquery.table2excel.js和tableExport.js 1.第一步,写一 ...
- 【洛谷】P2371 [国家集训队]墨墨的等式(屠版题)
先讲讲曲折的思路吧...... 首先,应该是CRT之类的东西,乱搞 不行......打了打草稿,发现有解的情况是gcd(a1,a2.....an)|B,于是可以求gcd然后O(n)查询?但是B的范围直 ...
- vscode react自动补全html标签
第一步:点击上图左下角设置,找到Settings,搜索includeLanguages 第二步:如上图点击图中红色区域,settings.json 第三部:把代码加入,如上图红色选择区域. " ...
- 简述JMM
一.很多初学者分不清JMM和JVM的内存模型,本篇只是简要的谈一谈什么是JMM,并不深入探讨. 示意图A: 在多线程操纵共享资源时,并不是对资源本身进行的操作,而是将共享资源的副本复制了一份到自己的私 ...
- linux 自启动 | 三种方式自启动
linux 实现自启动有多种方式,通过Linux 底层启动原理介绍,便可以理解以下几种方式 这里简单介绍一下这几种方式 一.自定义开机程序 /etc/rc.d/rc.local 1.vim / ...
- elastalter邮件告警
一:简介 ElastAlert是一个简单的框架,用于通过Elasticsearch中的数据异常警告,峰值或其他感兴趣的模式. 监控类型 "匹配Y时间内有X个事件的地方"(frequ ...
- Linux基于webRTC的二次开发(二) 实现远程桌面共享
webRTC中的desktop_capture模块提供了捕获桌面和捕获窗口的相关功能,而实现远程桌面共享功能需要将desktop_capture捕获的画面作为peerconnection的视频源,下面 ...
- hexo搭建简易的博客网站
0.环境检测 1.系统升级(图形更新) #update-manager 检测状态 2.检测升级(命令更新) #sudo apt update #sudo apt -y dist-upgrade 一.安 ...
- 第六天、用户、组、权限、grep
第六天.用户.组.权限.grep 权限总结表 操作 源目录权限 文件权限 目标目录权限 rm删文件 wx - - mv改名 wx - - mv移动文件 wx r wx cp复制文件 x r wx &g ...