C语言程序设计第五次作业——循环结构(1)
(一)改错题
错误信息:
错误原因:for条件语句用“,”分开。
改正方法:把“,”改成“;”
错误信息:
错误原因:与输出结果不符。
改正方法:去掉第12行for后面的分号
错误信息:
错误原因:for后面执行语句缺少大括号
改正方法:将13行和14行用大括号括起来。
错误信息:
错误原因:题目要求fahr为整型,celsius保留一位小数。
改正方法:第16行的输出语句中 fahr 与 celsius 对应的 %3.0f %6.1f 改为 %d %.1f 。
错误信息:
错误原因:与题目要求不符
改正方法:将第14行celsius = 5 / 9 * (fahr - 32.0)改为celsius = 5.0 / 9.0 * (fahr - 32.0);
错误信息:
错误原因:与题目要求不符合
改正方法:将第12行 fahr++ 改为fahr += 2。
运行结果:
(二)学习总结
(1):
①:定义变量,存储输入数据,奇数的数目,偶数的数目。
②:进入for循环。
③:输入一个整型变量num。
④:进入选择语句,判断输入数据的奇偶(能否被2整除)。
⑤:执行else语句或if语句,即odd++或even++。
⑥:重复for循环。
⑦:继续输入一个整型变量num。
⑧:进入选择语句,执行else语句或if语句,即odd++或even++
⑨:输入十次后,i = 11,不符合for循环的条件,执行for循环后面的语句。输出even以及odd的值。
(2)作用:任意输入10个整型数据,判断是奇数还是偶数,并统计奇数与偶数的个数。
2.增量运算符
(1)运行程序1:
前置与后置除了返回值不同外,所完成的功能是一样的,即值加一。
(2)运行程序2:
增量运算符的前缀与后缀影响运算过程与结果;
先定义变量i,j执行第一条输出语句,不是单独使用,因为是i后缀形式,先赋值在运算但是i的值已经输出,所以输出为2;
因为j是前缀的形式,所以先运算后赋值,在输出加1后j的值,所以输出3
i和j的值都为3。
3. (1)
(2)
(3)
(4)
分析:①由1和2得出循环体的认定与缩格形式无关,1,3和4分析与{}有关
②因为一对{}所包含的内容代表一个完整的语句,放在{}里面的语句都要一起执行。
③程序3,4都是正确的缩进格式。
4:总结:应熟练掌握并能熟练运用增量运算符
算术操作符:+ - * / % , 除了 % 操作符之外,其他的几个操作符均可以作用于整数和浮点数。
前置++和--:先自增后使用。
后置++和--:先使用再自加。
(三)实验总结
7-1 求奇数分之一序列前N项和
(1)题目:本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
(2)流程图:
(3)源代码:
(4)实验分析:试题比较简单,没问题。
(5)本题PTA提交列表:
7-3 奇偶分家
(1)题目:给定N个正整数,请统计奇数和偶数各有多少个?
(2)流程图:
(3)源代码:
(4)实验分析:编写过程中for语句运用不熟练,多次出现错误,自增自减运算符出现了错误,修改了多次。
(5)本题PTA提交列表:
7-5 统计字符
(1)题目:本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
(2)流程图:
(3)源代码:
(4)实验分析:问题1:字符和空格回车不能顺利输出。
原因:循环语句还是不熟练。
解决办法:请同学帮助完成此题。
(5)本题PTA提交列表:
7-7 求交错序列前N项和
(1)题目:本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
(2)流程图:
(3)源代码:
(4)实验分析:
问题1:加法减法不能编译出来,
原因:对问题没能很好的理解,思路很窄。
解决办法:通过多次改正才完成。
(5)本题PTA提交列表:
博客互评:
(1)http://home.cnblogs.com/u/yiqiekaoziji/
(2)http://home.cnblogs.com/u/jjjj1234/
(3)http://home.cnblogs.com/u/LLIU/