C语言博客I作业04
问题 | 回答 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | 作业要求 |
我在这个课程的目标是 | 掌握使用for循环语句实现指定次数的循环程序设计。 |
这个作业在那个具体方面帮助我实现目标 | 通过五个PTA作业的前N项求和让我比较熟练运用for循环语句。 |
参考文献 | C语言程序设计,度娘。 集美大学林丽老师 |
1.PTA实验作业(20分/题)
1.1本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
1.1.1 数据处理
- 数据表达:使用了整形变量denominator,N,i,flag,分别代表第i项的分母,N值,i项,第i项的符号。双精度浮点型变量sum,item,分别表示输出值,第i项的值。
- 数据处理:使用了for的语句,属于计数型循环。表达式:item=flag*1.0/denominator;sum+=item;flag=-flag;denominator=denominator+3;
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 1.000 | 最小正整数0 |
0 | 0.000 | 使用临界值0 |
-3 | 0.000 | 使用负数测试 |
10 | 0.819 | 使用题目数字测试 |
10000 | 0.836 | 使用较大数据 |
1.1.4 PTA提交列表及说明
- 答案错误:小数点后3位数错写成6位数。
- 部分错误:未使用变量flag来表示每一项符号。
1.2本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
1.2.1数据处理
- 数据表达:使用了整形变量denominator,N,i,flag,分别代表第i项的分母,N值,i项,第i项的符号。双精度浮点型变量sum,item,分别表示输出值,第i项的值。
- 数据处理:使用了for的语句,属于计数型循环。表达式:item=flag*(double)i/denominator;sum+=item;flag=-flag;denominator=denominator+2;
1.2.2实验代码截图
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 1.000 | 最小正整数0 |
0 | 0.000 | 使用临界值0 |
-3 | 0.000 | 使用负数测试 |
5 | 0.917 | 使用题目数字测试 |
10000 | 0.393 | 使用较大数据 |
1.2.4PTA提交列表及说明
- 答案错误:开始我在手机编程的是无论N是多少,输出都是1,后来问了学长才知道需要加double,来表示有小数。
- 答案错误:输出格式错了,题中信息给出不用加sum,但我一开始加了,导致答案错误。
2.代码互评(5分)
同学代码截图(来自软件四班郭丽飞)
自己代码截图
- 代码分析
1.使用的变量和数量不一样以及放置位置不同。我少一个变量。
2.使用的计算方法略有不同,他使用的乘法,我的是逐步递增2。
3.我使用的是double解决的输出问题,他则是用numerator代替的。各有千秋。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10.14~10.20 | 36h | 100 | 掌握使用for循环语句 | 对多种循环结构不够了了解以及分支结构和循环结构同时使用的编程先后。 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
1.本周主要学习了for语句来实现循环,for语句中fahr++相当于fahr= fahr+1。for语句中有三种表达式分别是初值表达式,条件表达式,步长表达式,以及有循环体语句。注意循环体语句只能是一条语句。如果是多条语句组成,必须用大括号把它们括起来,变成一条复合语句。
2.解决反复求和问题,首先抽取出具有共性的算式(循环不变式),例如: sum= sum+1。
3.学习了item为浮点型变量,可用来表示第i项。学习了用变量flag表示每一项的符号。denominator表示每一项的分母。如果输出是要保留几位小数,可以加入double。
3.3.2 学习体会
1.本周虽然PTA题目以及PTA分析减少了,但多了一项于同学代码比较的题目,我认为这道题可以有,可以学习到更捷便更少的代码来实现编程,就是不太好找同学代码,如果你做的比较早,更难找。
2.这周在原有基础上我又学了再下划线语法,本来想学给字体加颜色的,没找到。下次我会寻找有这内容,去学习的,还有我想学习个代码把博客园变的更美观。
3.本周学习内容不多,我们可以自学,就像老师说的上课讲的,不够我们完成作业,弯头,需要自己向前走。
4.我有个很疑惑的问题,我这次使用了typora软件来编写表格,在电脑上表格正确,但在手机又显示的内容是反的,我很困惑,本周五打算问问彭老师。
5.编程是一个需要非常谨慎,仔细的过程,一个输出格式看错,空格打错都会导致编程错误。
C语言博客I作业04的更多相关文章
- C语言博客I作业09
提问 回答 这个作业属于哪个课程 C语言程序设计Ⅱ 这个作业要求在哪里 https://www.cnblogs.com/sanying/p/11907721.html 我在这个课程的目标 掌握语句嵌套 ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- C语言博客作业6---结构体&文件
C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...
- C语言博客作业5--指针
C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...
- C语言博客作业4--数组
C语言博客作业4--数组 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言博客作业3--函数
C语言博客作业3--函数 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言|博客作业10
问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...
- C语言博客作业06--结构体&文件
1.本章学习总结 1.1思维导图 1.2.本章学习体会 这是这学期最后一次博客园作业,文件和结构体感觉比指针还难,一直搞不是很懂,大作业没有方向感,现在还在搞,大作业没有成品,只能先去借鉴舍友的优秀代 ...
- C语言博客05--指针
C语言博客05--指针 1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 在本周的学习过程中,我们学习了指针的用法.说实话,指针的用法有点绕,之前一直没搞 ...
随机推荐
- PHP反射API的使用、体会、说明
最近开发支付宝相关功能的时候,由于支付宝的SDK比较落伍,不支持composer的方式加载,使用三方的composer SDK又觉得不放心 为了简化代码的调用方式,使用PHP的反射类针对支付宝官方SD ...
- jira使用一:如何给项目分组、sprint并行、禁止发送消息给atlassian
问题一:如何设置多个sprint并行? 问题二: 如何分组显示 设置泳道,并快速过滤 问题3:添加所属产品? 管理员登录Jira后台设置-问题-自定义字段找到:所属产品,进入 配置 界面在配置界面中, ...
- 《ucore lab1 exercise2》实验报告
资源 ucore在线实验指导书 我的ucore实验代码 题目:使用qemu执行并调试lab1中的软件 为了熟悉使用qemu和gdb进行的调试工作,我们进行如下的小练习: 从CPU加电后执行的第一条指令 ...
- Jenkins+maven+gitlab自动化部署之gitLab搭建(二)
Gitlab我们这里采用docker方式部署,详细请参考:Docker部署Gitlab11.10.4
- 【LOJ】#2720. 「NOI2018」你的名字
题解 把S串建一个后缀自动机 用一个可持久化权值线段树维护每个节点的right集合是哪些节点 求本质不同的子串我们就是要求T串中以每个点为结束点的串有多少在\(S[l..r]\)中出现过 首先我们需要 ...
- 第一坑:class编译版本
这个坑是刚去公司的时候,公司项目运行环境的jdk版本是1.5,当时我编译版本是1.7,然后放上去一直报找不到class的错误,我硬是找了半天,后来才听说要用1.5版本编译.
- 如何用IDEA创建springboot(maven)并且整合mybatis连接mysql数据库和遇到的问题
一.New->Project 二.点击next 三.在Group栏输入组织名,Artifact就是项目名.选择需要的java版本,点击next 四.添加需要的依赖 在这里我们也可以添加sql方面 ...
- Win10 鼠标右键新建菜单添加自定义文件
1. 引言 在鼠标右键(右单机)新建菜单中添加自定义文件,例如:写字板,markdown等. 效果图: 2. 操作步骤(以Win10为例) 1. win+R输入regedit进入注册表 2. 这里以添 ...
- 剑指offer56:删除链表中重复的结点,排序的链表中,删除重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
1 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处 ...
- 数据分析之--Mataplotlib入门
目录 Mataplotlib Seaborn 绘制线性图 图片的标题 点和线的样式 X和Y轴可读的映射 直方图 柱状图 条件性柱状图 饼图 箱图 散步图 3D图 Excel数据导入数据库 Matapl ...