问题 |
答案 |
这个作业属于那个课程 |
C语言程序设计II |
这个作业要求在哪里 |
C语言I博客作业04 |
我在这个课程的目标是 |
熟练掌握C语言 |
这个作业在哪个具体方面帮助我实现目标 |
已经可以脱离书本码出一个for语句的代码 |
参考文献 |
Markdown基本语法 |
一.PTA实验作业
1. 求交错序列前N项和
题目内容描述:本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
(1)数据处理
数据表达:用了 变量N、n、A、D、sum、S、flag,N为所输入的值,n为从1开始每一步加1至n=N。flag为标志,也就是奇数项为正,偶数项为负。A和D是根据题目的分子和分母的变化规律所赋予的值,sum和S是根据题目的要求所输出的值。类型:N、n、A、D为整型,sum、S、flag为双精度浮点型。
数据处理:用了for循环,用了表达式n=1、n<=N、n++、S=flag*A/D+S、flag=-flag、A=A+1、D=D+2。
(2)实验代码截图
(3)造测试数据
输入数据 |
输出数据 |
说明 |
1 |
1.000 |
N是最小奇数 |
2 |
0.333 |
N是最小偶数 |
100 |
0.391 |
N是偶数 |
99 |
0.894 |
N是奇数 |
(4)PTA提交列表及说明
提交列表说明
1.答案错误:没有看清题目的输出要求,在第21行输出的数据'%.3f"前加了sum。将%.3f前sum去掉就行。
2. 求N分之一序列前N项和
题目内容描述:本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
(1)数据处理
数据表达:用了变量N、n、sum、S,N为所输入的值,n为从1开始每一步加1至n=N,sum和S是根据题目的要求所输出的值。类型:N、n为整型,sum、S为双精度浮点型。
数据处理:用了for循环,用了表达式n=1、n<=N、n++、S=(1.0/n)+S。
(2)实验代码截图
(3)造测试数据
输入数据 |
输出数据 |
说明 |
5 |
2.283333 |
较小N |
100 |
5.187378 |
较大N |
(4)PTA提交列表及说明
提交列表说明
1.答案错误:第10行1后面没有".0"。
刚开始在手机的C语言编译器上发现不管输入何值输出的都为1.000000。然后认识到因为是浮点型,所以分子上的1后面要加".0"。也就是第10行1改为1.0。
二.代码互评
同学代码:
自己代码:
比较
(1)该同学的代码不拖泥带水,直接在double后面将0赋于sum,而我是在定义完S的类型后,将D赋于S。
(2)该同学直接将大括号打在for语句体的后面,而我是另取一行与回括的大括号对齐,显的比较整洁。
(3)该同学的代码行数比我短,用更简练的代码做出了题目所需要的要求。
同学代码
自己代码
比较
(1)该同学选了许多英语单词做变量,如分母denominator,而我觉得这个单词太长码起来太麻烦,所以直接用了该单词的大写首字母D。
(2)该同学有的代码行之间有空格,如5、8行之间,8、10行之间,12、14之间,而我的是每个代码紧凑在一起。
(3)因为该同学使用的denominator变量太长,显得该代码所占行太长,而我的代码比较短。
三.学习总结
1.学习进度条
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
第四周/9.16~9.22 |
7小时 |
100行 |
在屏幕上显示Hello World! |
暂无 |
第五周/9.23~9.29 |
8小时 |
100行 |
求华氏温度对应的摄氏温度 |
暂无 |
第六周/9.30~10.6 |
30小时 |
200行 |
如何用 MinGW-w64 来编译C程序 |
暂无 |
第七周/10.7~10.13 |
24小时 |
300行 |
运用if语句完成各种数学程序 |
对于&&的用法不了解 |
第八周/10.14-10.20 |
24小时 |
300行 |
学会了for循环语句 |
暂无 |
2. 累积代码行和博客字数
3 .学习内容总结和感悟
(1)学习内容总结
本周学习了for循环语句的用法
for语句的一般形式: for(表达式1;表达式2;表达式3){语句}
表达式1为设置循环初始条件,表达式2为判断循环条件,表达式3为修改循环条件。
(2) 学习体会
感觉这个for循环语句比上周的else-if语句容易很多,或许只是因为经历了上一周的学习让我更加理解每一个字符是用来干什么的和如何去使用它。经过一次次的PTA作业,在一个个的格式错误、答案错误、部分正确中我感觉我的灵魂都得到了升华。从开始的对这门作业的痛恨到后面慢慢的做作业成了一种享受,也慢慢的喜欢上了这门课程。