问题 | 回答 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | C语言I博客作业04 |
我在这个课程的目标是 | 掌握使用for循环语句实现指定次数的循环程序设计 |
这个作业在那个具体方面帮助我实现目标 | 学会每条语句的正确所在位置是怎样的,循环体的初始状态和终止状态的表达 |
参考文献 | 《C语言程序设计》 循环结构 |
1.PTA实验作业
1.1 求简单交错序列前N项和
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
1.1.1数据处理
- 数据表达:变量i n,flag,用int定义而来整型,double定义一个双精度浮点型变量sum
- 数据处理:关系运算符,赋值运算符,算术运算符;循环结构,顺序结构。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
20 | sum =0.827 | 小于50大于0 |
80 | sum =0.834 | 大于50 |
50 | sum=0.832 | 等于50 |
-1 | sum=0.000 | 小于0 |
1.1.4 PTA提交列表及说明
1.部分正确:i所处范围错误,我误认为i<=n;仔细审题后i应该是<=3*n-2。
2.部分正确:因为sum是浮点数变量,而且输出需要保留小数所以在sum的关系式中应用(1.0/i) 而不是(1/i)。
3.运行超时:思考时间过长,未在规定时间完成本次提交。
4.部分正确:没有考虑式子中的正负符号;添加了一个变量flag,用于得到正确的加减关系。
1.2 求平方与倒数序列的部分和.
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n^2+1/n。
1.2.1 数据处理
- 数据表达:用整型数据int定义变量m,n,用double数据定义双精度浮点型变量sum
- 数据处理:关系运算符,赋值运算符,算术运算符;顺序结构,循环结构。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 10 | sum=387.928968 | 0<n<10 |
5 20 | sum=2841.514406 | 10<n<20 |
1 50 | sum=42929.499205 | n=50 |
1 100 | sum=338355.187378 | n>50 |
1.2.4 PTA提交列表及说明
1.编译错误:误用中文符号“;”改成“ ;”
2.多种错误:有编译错误与格式错误,所有符号检查一遍并更正了。
3.格式错误:sum的=一边空格一边没空格。
4.格式错误:初始条件之间应用“;”隔开
5.格式错误:“,”后面也应空格
6.答案正确.
2.代码互评
同学代码截图
自己代码截图
1.同学的代码中有注释,能让人更容易看懂。
2.关于变量定义,我是一次性定义完成,其它同学有分步骤的一次一次定义。
3.关于所存的系统文件,我只用了<stdio.h> 同学还用了<math.h>
4.在使用的结构中有同学使用的是while循环结构,我是用的for循环结构。
5.编译符号中同学有使用pow等符号,我都是用的数学符号。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第三周10.9-10.12 | 两天 | 188 | 对代码数据的处理了解,比如类型结构等 | 什么时候用int,double声明变量,逻辑运算符的运用等 |
第四周10.16-10.18 | 一天半 | 190 | 如何用double型数据使用lf%,怎样在程序中用for语句实现循环,可指定循环次数 | 循环体中的关系表达式的正确运用 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
- 主要学习for 循环语句:for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成
- 语句最简形式为:for( ; ; )需要注意的是for语句后面不要打“;”
具体代码实例看下图
3.3.2 学习体会
-
本周学习for循环语句,相比于之前来说似乎更容易接受所学的新知识。其原因不在于我们学习的东西变简单而是我们在经过一定时间的练习后渐渐熟悉了代码,渐渐熟悉编程,所以相对于之前遇到问题也不再那么焦虑而是可以冷静清楚的找出问题所在,然后解决。
-
在编程过程中,真的一定要仔细认真的去编写每一个字符,可能就是因为一不注意多空或少空个格就导致编译错误,以至于程序无法运行。真的细节决定成败。
-
学习过程中渐渐体会到了编程的乐趣,对学好这一专业也越来越有信心。