第五次博客作业

(一)改错题

输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉。计算公式如下:
c = 5×(f-32)/9
其中,c表示摄氏温度,f表示华氏温度。
输入输出样例1:
  Enter lower:32
  Enter upper:35
  fahr celsius
  32 0.0
  34 1.1
输入输出样例2:
  Enter lower:40
  Enter upper:30
  fahr celsius
源程序(有错误的程序)

运行:
1,错误信息:
错误原因:for括号内要用分号隔开,并且for最后不加分号。
  改正方法:把for括号内的逗号改为引号,去掉for后面的分号。
2,错误信息:
错误原因:整个代码中大括号只有半个。
改正方法:在return 0;后加"}"。
运行:


运行结果不符合。
3,错误信息:
错误原因:for后面没有加大括号。
改正方法:for后加上大括号。
运行:

4,错误信息:
错误原因:fathr输出的应该是int,但是输出定义的是浮点型。
改正方法:将"%3.0f %6.1f\n"改为"%3f %6.1f\n"。
运行:

5,错误信息:
错误原因:题中说每次增加2℉,但fathr++不符合题意。
改正方法:fahr++ 改为 fahr=fahr+2。
运行:

6,错误信息:
错误原因:\n的位置改了,输出类型也改了,fahr是int类型的然后后面那个小数要保留一位小数,是%.1lf,double是%lf
改正方法:
运行:


(二)学习总结

1.有如下程序:

(1):先声明代码中的变量num ,odd ,even,
(2):给代码赋初值0
(3):给i赋值=1,
(4):输入第一个数,判断是奇数还是偶数。
(5):如果是偶数就 even++;如果是奇数就odd++;第一次循环结束。
(6):进入第二次的循环同上。
(7):当I=11时结束循环
(8)前两次的循环,先输入一个数,判断奇数还是偶数。然后再次输入一个数,进行第二次循环,继续判断奇数和偶数。
当输入第十个数就是最后一次循环,仍然判断是奇数还是偶数,
最后程序实现的是输入的10个数中,奇数个数和偶数个数各有多少个。
2.增量运算符
(1)运行下面程序,结果是什么?增量运算符在单独使用时,前缀和后缀形式有区别吗?


增量运算符在单独使用时,前缀和后缀形式没有区别。
(2)运行下面的程序,结果是什么?两条输出语句的执行过程是怎样的?说明什么问题?这两条输出语句执行完后,i和j的值分别是多少?

运行:

第一条语句 i++ 是先执行再加一,第二条语句 ++j 是先加一再运行。
第一个结果是没有加一直接输出的。
运行问题:在某些程序中前缀和后缀在语句运行中是有区别。前缀形式的增、减量运算符,运算时,先执行操作再后续运算,而后缀则相反,先执行其他运算,再将变量的值执行增/减量操作。因此在确定运算时一定要分清其区别,合理运用前后缀。
i和j的值应该均是3。
3.有些循环语句后面有{},有些没有,有些语句有缩进,运行下面的四个小程序,运行结果有什么不同?循环体的认定与缩格形式是否有关?与{}是否有关?那么,应该如何正确判断一个循环语句中的循环体?下面的程序中,哪几种格式是正确的缩进格式。
(1)
(2)
(3)
(4)
依次运行:
(1)
(2)
(3)
(4)
(1)与(2)说明循环体的认定与缩格形式无关,与{}有关。第四个正确。
(三)实验总结
(1)题目
7-1 求奇数分之一序列前N项和(10 分)

本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
(2)流程图

(3)源代码

(4)实验分析
认真细心就好。
(5)本题PTA提交列表

   (1)题目
     7-3 奇偶分家(10 分)

给定N个正整数,请统计奇数和偶数各有多少个?

输入格式:

输入第一行给出一个正整N(≤1000);第2行给出N个正整数,以空格分隔。

输出格式:

在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
(2)流程图

(3)源代码

(4)实验分析
问题1:循环出现问题。
原因:格式错误。
解决方法:for格式括号内用分号,括号外不加分号。
(5)本题PTA提交列表

(1)题目
7-5 统计字符(15 分)

本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

输入格式:

输入为10个字符。最后一个回车表示输入结束,不算在内。

输出格式:

在一行内按照
letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other =
(2)流程图


(3)源代码

(4)实验分析
问题1:编译正确,但是运行中错误很多。
原因:字符运用不好,最初没有定义为0.
解决方法:多加练习字符,if语句认真,不要弄混情况。
(5)本题PTA提交列表

(1)题目
7-7 求交错序列前N项和(15 分)

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中输出部分和的值,结果保留三位小数。
(2)流程图

(3)源代码

(4)实验分析
问题1:运行结果不对。
原因:开头没有#include <math.h>
解决方案:开头加上#include <math.h>,认真。
(5)本题PTA提交列表

(四)博客互评
http://www.cnblogs.com/lsx123/p/7816527.html
http://www.cnblogs.com/fkh1/p/7812032.html
http://www.cnblogs.com/wlm312/p/7812154.html

posted on 2017-11-12 19:55  计科02  阅读(1401)  评论(1编辑  收藏  举报

导航