C语言I博客作业03
C语言程序设计 | 2020计算机3班 |
---|---|
作业的要求 | 作业要求 |
作业的目标 | 完成PTA作业,学习优秀代码并应用于实际,做出总结 |
学号 | 20209003 |
1.PTA实验作业
从PTA题目集中选出3个你最满意的题目完成.
1.1 求简单交错序列前N项和
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
-
1.1.1 实验代码截图
-
1.1.2 数据处理
- 数据表达:
- 变量及其类型:
- 整型变量:N。
- 浮点型变量:sum,S。
- 变量由来:通过题目已知定义。
- 变量及其类型:
- 数据处理:
- 表达式:sum=0,S<=N,S++,sum=sum+1.0/(3S-2)pow(-1,S-1)。
- 流程结构:循环结构。
- 数据表达:
-
1.1.3 PTA提交列表及说明
- Q1:格式错误。
- A1: = 的两边都要空格。
- Q2:答案错误。
- A2:输出语句要放在循环语句之外。
- Q3:运行超时。
- A3:只需要三个变量。
1.2 求分数序列前N项和
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。
-
1.2.1 实验代码截图
-
1.2.2 数据处理
- 数据表达:
- 变量及其类型:
- 整型变量:i,N。
- 浮点型变量:a,b,sum,middle。
- 变量由来:通过题目已知与需求定义。
- 变量及其类型:
- 数据处理:
- 表达式:a=2,b=1,sum=0,i=1,i<=N,i++,sum=sum+a/b,middle=a,a=a+b,b=middle。
- 流程结构:循环结构。
- 数据表达:
-
1.2.3 PTA提交列表及说明
- Q1:考虑到a赋了一个新的值,b就无法再赋值原来的a,但是不知道该怎么办。
- A1:多设一个中间变量middle,将原来的a值先存入middle即可。
- Q2:最终的答案不对。
- A2:变量a,b和middle要定义为浮点型变量。因为当i=20时,a,b和middle这三个变量会超过整型变量的范围。
1.3 求平方根序列前N项和
本题要求编写程序,计算平方根序列√1+√2+√3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。
-
1.3.1 实验代码截图
-
1.3.2 数据处理
- 数据表达:
- 变量及其类型:
- 整型变量:a,N。
- 浮点型变量:sum。
- 变量由来:通过题目已知与需求定义。
- 变量及其类型:
- 数据处理:
- 表达式:sum=0,a=1,a<=N,a++,sum=sum+sqrt(a)。
- 流程结构:循环结构。
- 数据表达:
-
1.3.3 PTA提交列表及说明
- Q1:格式错误。
- A1:= 两边要根据题目要求打空格。
- Q2:编译错误。
- A2:表达式sum=0后忘记打分号了。
2.阅读代码
- Specialized Four-Digit Number
- 理解:使用了cstdio,通过查证,是C++的写法。定义了a,b两个变量,运用了while循环结构,达到将十进制转化为十二进制和十六进制的目的。再运用for循环结构和分支结构,筛选出从2992到9999中符合题意的数字。
- 优点及可学习点:简单明了,没有多余无用的变量,缩短了不必要的运行时间。表达式写法简便,直接写成 ret += a % b, a /= b 。
3.学习总结
3.1 学习进度条
周\日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
5\11.1-11.7 | 约8小时 | 约140行 | for语句 | 输出%d与%6.1lf之间不能有空格的原因 |
4\10.18-10.24 | 约6小时 | 约105行 | if-else语句 | 不能理解求个位数用n%10,十位数n/10%10等 (已解决) |
3.2 累积代码行和累积博客字数
3.3 学习感悟
- 对于本周的学习,事实上,感觉自己是不太主动的,这导致我在实验课时手忙脚乱,还为了一个求余的 % 磨蹭了很久。最后百度了解要打两个百分号才能得到我想要的结果。
- 所以,以后要做到复习预习一把抓,学习要靠自己,不能等着别人来喂。学会借助书籍自己往前摸索。