本周教学内容&目标
第2章 用C语言编写程序-循环结构 2.4 输出华氏-摄氏温度转换表。要求学生掌握使用for循环语句实现指定次数的循环程序设计。
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/9772 |
我在这个课程的目标是 | 要求掌握使用for循环语句实现指定次数的循环程序设计。 |
这个作业在那个具体方面帮助我实现目标 | for语句的正确使用。 |
参考文献 | 无 |
1.PTA实验作业
1.1 题目名1
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
1.1.1数据处理
数据表达:运用int(整型),double(双浮点型)定义变量。
数据处理:流程控制使用顺序结构for循环语句。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 0.197 | n小于10 |
10 | 0.380 | n等于10 |
20 | 0.386 | n大于10 |
-1 | Invalid Value! | 小于0 |
1.1.4 PTA提交列表及说明
提交列表说明:
1.编译错误:for语句中分号按错。修改for语句中的;
2.运行超时:for语句中逻辑错误。
3.答案错误:对于for语句中i+2,和2*i-1理解不到位。
1.2 题目2
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n。
1.2.1 数据处理
数据表达:运用int(整型),double(双浮点型)定义变量。
数据处理:流程控制使用顺序结构for循环语句。运用sum+省略sum=sum+m*m+1.0/m减少内存空间使用。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 10 | 355.845635 | m<=n |
5 5 | 0.917 | m=n |
-1 10 | 0.000 (nvalid Value!) | m<0,n>0 |
1.2.4 PTA提交列表及说明
1.段错误:程序可以执行但是输出的答案不正确,我也不知道错在哪里。
2.段错误:修改过后,程序可以执行,但是输出答案不正确。
3.答案正确:其实在编译器上执行过很多次,发现用手机打的时候题目看错,再加上题目理解不到位。
1.3 题目3
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
1.3.1 数据处理
数据表达:运用int(整型),double(双浮点型)定义变量。
数据处理:流程控制使用顺序结构for循环语句。使用循环体赋值x=-x改变x的正负。
1.3.2 实验代码截图
1.3.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
10 | 0.380 | 输入值为正数 |
-1 | 0.000 (nvalid Value!) | 输入值为负数 |
1.3.4 PTA提交列表及说明
其实多次使用编译器,发现输出答案总是不正确,后来发现for语句中的逻辑错误。
1.段错误:运用编译器发现for语句中的逻辑出现错误,所有for语句中的计算式全部修改序,不使用一步到位的计算式,而是运用一步一步的计算式,修改后答案正确。
代码互评
其他同学的代码类似,就去网上找了代码。
1.该代码使用巧妙,运用double,来处理计算式(虽然还是没有看懂是怎么回事),开始我也想运用pow形式来列出计算式,可是屡次尝试总是出错,可能是因为没有使用double的原因吧。
2.前面的代码相比我的,我感觉我的比较啰嗦,可是为了防止for语句中出现错误,就想找到更简单的方法,上面的那个代码,是我理想追求的,可是现在还是不了解计算式中使用double的原因。
3.(新添加代码)因为在作业之后有去做了点题目,改进了一下代码,相比我自己之前打的代码我感觉后面这个要简单直接点。
学习总结
3.1 学习进度条
|周|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
|-------|--------|----------|--------|
|一周09-24|4个小时|50行|简单的打印字句|无|
|二周10-03|5个小时|85行|提问的智慧|无|
|三周10-10|12小时|132行|if-else语句的使用,基本数字的定义,分段函数的计算|无|
|四周10-17|6个小时| 97行 |for循环语句的使用|计算式的加入double的使用方法和含义|
3.3.1 学习内容总结
学习for的循环语句,在for语句进行循环 {} 中的内容已达到自己计算的目的。
3.3 学习内容总结和感悟
图1
图2
1.使用for循环语句最怕出现逻辑错误,如果在比较大的程序中发现逻辑错误是很被发现的,甚至导致全程序重新写,所以写关于*逻辑程序是一定要把逻辑关系搞清楚*。
2.学习到的小方法:
解释:图片在上面
图1.在等值过程中 尽量使用 3==x 这样等值,,因为地址变量才可以被赋值,如果是常量赋值在左就是错误的,如果在编程过程中出现等值错误(3=x,少写了=),就可利用编译语法查找错误所在。
图2.if语句后的语句用大括号括起来(补充语句也要在大括号内,总之if语句后的语句要用大括号括起来),在这个程序中想加语句过程忘记加 “{” 如果编译出错还好,若编译成功,输出错误,那可能就要重新写代码了,那就麻烦大。
3.for语句()中的内容用 ; 隔开,语句后不能使用 ; 若使用会被视为空语句。
4.时间过得好快啊,感觉自己学习c语言的能力在不断的加强,这还得感谢百度,人是被逼出来的,没有关系,我不会,但是我会努力的学习,提高自己解决问题的能力。相信自己可以的,慢慢来吧!