c语言程序设计第五次作业——循环结构,1
(一)改错题
题给源代码
错误信息(1):
错误原因:for语句后面不需要加分号
改正方法:把for语句后面的分号删掉
错误信息(2):
错误原因:
for语句中三条语句之间必须用分号隔开,而该语句中“for (fahr = lower , fahr <= upper, fahr ++) ;”括号内的三条语句之间没用分号分隔
改正方法:
把for语句括号中的三条语句之间的逗号改为分号
错误信息(3):
错误原因:
在定义变量时fahr为整型,而输出语句中fahr为浮点型,且题干中fahr均为整数,故需要该输出语句中的fahr输出类型
改正方法:
把“printf("%3.0f %6.1f\n", fahr, celsius);”改为“printf("%d %6.1f\n", fahr, celsius); ”
错误信息(4):
错误原因:
程序中 celsius 定义为浮点型,而计算语句中运行的是整型的语言,故需要对计算语句进行强制转换
改正方法:把celsius = 5 /9 * (fahr - 32.0); 改为 celsius = (double)5 /9 * (fahr - 32.0);
错误信息(5):
错误原因:
因为for为循环语句,在for语句后面的语句并没有进入循环,故需要把for语句后面的语句加上大括号
改正方法:
在for语句后面加大括号,并且把for语句后面的俩条语句移动到大括号里面
错误信息(6)
错误原因:
题干中要求每次增加2℉,而该循环中每次增加1,所以需要该每次增加的度数
改正方法:
把for (fahr = lower ; fahr <= upper; fahr ++) 改为 for (fahr = lower ; fahr <= upper; fahr +=2)
最后正确程序与正确结果:
(二)学习总结
1.有如下程序:
详细描述程序的执行过程,即说明程序的每一步是执行的哪条代码,执行顺序如何。循环需描述前两次循环和最后一次循环的详细执行过程。最后说明程序实现的功能是什么。
(1)声明变量i,num,odd,even,
(2)给odd,even,赋初值
(3)给i赋初值,之后进入循环
(4)输入一个数
(5)判断输入的数是否为偶数
(6)是偶数则给even加1,否则给odd加1
(7)给i加1,判断此时的i是否大于10,若i小于10,则进入循环
(8)输入一个数
(9)判断输入的数是否为偶数
(10)是偶数则给even加1,否则给odd加1
(11)给i加1,判断此时的i是否大于10,若i小于10,则进入循环
(12)最后一步:
(13)输入一个数
(14)判断输入的数是否为偶数
(15)是偶数则给even加1,否则给odd加1
(16)给i加1,判断此时的i大于10,则退出循环
(17)输出此时even,和odd的值
实现的功能:统计输入的10个数中奇数和偶数的个数分别为多少
2.增量运算符
(1)运行下面程序,结果是什么?增量运算符在单独使用时,前缀和后缀形式有区别吗?
在该程序中,增量运算符在单独使用时,前缀和后缀形式没有区别
(2)运行下面的程序,结果是什么?两条输出语句的执行过程是怎样的?说明什么问题?这两条输出语句执行完后,i和j的值分别是多少?
运行结果
第一条输出语句:先输出i,再给i加1
第二条输出语句:先给j加1,再输出j
说明问题:
在该程序中,前缀是先进行加、减,后运行;后缀是先运行,后进行加、减
这两条输出语句执行完后,i和j的值分别是多少
i=2;j=3
3.有些循环语句后面有{},有些没有,有些语句有缩进,运行下面的四个小程序,运行结果有什么不同?循环体的认定与缩格形式是否有关?与{}是否有关?那么,应该如何正确判断一个循环语句中的循环体?下面的程序中,哪几种格式是正确的缩进格式。
运行程序(1)源代码及结果
运行程序(2)源代码及结果
运行程序(3)源代码及结果
运行程序(4)源代码及结果
(1)由这四个程序比较得出:循环体的认定与缩格形式无关,与{}有关
(2)判断循环体要看for语句后面的并且在for语句下面的大括号里面的语句都是循环语句
(3)第四个是正确的循环体缩进格式
其他总结
(1)使用for语句时注意for后面的括号内有三条语句,所以必须用俩个分号来分隔,即使没有第一条赋值语句也要有分号,否则就不能构成一条循环语句
(2)循环语句中一般会有判断语句,否则就是无限循环
(3)循环语句一定要放在大括号里面才能进行循环
(4)写一个循环首先要搞清楚题目要求干什么,语句的先后顺序,思路一定要清楚
(三)实验总结
(一)题目
求奇数分之一序列前N项和:
(1)流程图:
(2)源代码:
(3)实验分析:
问题1:
提交作业时出现答案错误
原因:
输出结果需要保留小数,而输出语句中没有保留小数的语句
解决办法:
通过错误信息的提示,仔细读题干,找出错误
(4)本题PTA提交列表:
(二)题目:
给定N个正整数,请统计奇数和偶数各有多少个?
(1)流程图:
(2)源代码
(3)实验分析:
问题1:
不会判断输入的数字是奇数还是偶数
原因:
对所学过的知识掌握的不够熟练
解决方法:
复习老师讲过的东西,问同学,得出正确结果
(4)本题PTA提交列表:
(三)题目:
本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
(1)流程图:
(2)源代码:
(3)实验分析:
问题1:
不会定义输入的数据
原因:
对基础只是掌握不牢因为本题输入的数据比较多样,故不能用int ,而是用char定义字符型变量
解决办法:
问同学得出思路,编写出正确程序
(4)本题PTA提交列表:
(四)题目:
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
(1)流程图:
(2)源代码:
(3)实验分析:
问题1:
累加的每一项符号不同,注意判断每一项是加还是减有困难
原因:
每一项都应该判断是奇数项,还是偶数项
解决办法:
问同学,查看以前的知识,得出简便方法
(4)本题PTA提交列表:
(四)博客互评
**的博客:
(1)在第一大题中,错误程序的错误地方都特地标记出来,而且修改错误的每一步都非常清楚值得学习
(2)在第二大题的第二小题的最后一问我认为i等于2,j等于3.
**博客地址:http://www.cnblogs.com/myg123/p/7802056.html
曲儿说的博客:
在流程图的部分,给出了运行程序的截图,给人清晰明了,值得学习
曲儿说博客地址:http://www.cnblogs.com/abc15369938639/p/7810952.html
人满为患的博客:
虽然我看的不太懂,但感觉写的特别牛逼,值得学习
- 上一篇 »HTML 5
- 下一篇 »《JavaScript高级程序设计》学习笔记,第五章- 下