这个作业属于哪个课程 | https://bbs.csdn.net/forums/csuft_swxy_C?category=0&typeId=17321 |
---|---|
这个作业要求在哪里 | https://bbs.csdn.net/topics/603427602 |
这个作业的目标 | 熟练使用for循环语句 |
学号 | 20218536 |
一、本周作业(总分40分)
1.1 完成PTA作业,并给出编程题完成截图,截图上有自己的学号及姓名标识(不是截图形式的计0分)(每题5分)
1.2 请给出本章学习总结(15分)
1 学习进度条(5分)
2 累积代码行和博客字数(5分)
3 学习内容总结和感悟(5分)
二、作业格式
1、PTA作业
1.1、求交错序列前N项和
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
结尾无空行
输出样例:
1 0.917
2 结尾无空行
1.1.1、贴图展示代码
1.1.2、数据处理
1、数据表达:int整型定义变量n,i;double双精度浮点型定义stg,sum;scanf函数输入n,其中sum赋值为0,防止sum被随便赋值,影响结果的输出
2、数据处理:for循环,if判断不同类型的数所对应的表达式;其中还用到了%.3使结果保留到小数点后三位
1.1.3、PTA提交列表及说明
答案错误:没按题目要求来做保留小数点后三位的表达
部分正确:第8行前面少一个负号,且没有乘以1.0
1.2、求平方根序列前N项和
本题要求编写程序,计算平方根序列√1+√2+√3+⋯的前N项之和。可包含头文件math.h
,并调用sqrt
函数求平方根。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。
输入样例:
10
结尾无空行
输出样例:
sum = 22.47
结尾无空行
1.2.1、贴图展示代码
1.2.2、数据处理
1、数据表达:int整型定义变量n,i;double双精度浮点型定义变量sum并对其进行赋值
2、数据处理:for循环,使用了sqrt函数,%.2f结果保留两位小数,+=是将sum加sqrt(i)的值赋给sum。
1.2.3、PTA提交列表及说明
答案错误:double类型我没有用而是用的float类型导致结果出现误差,答案错误
部分正确:使用scanf函数时输入的n前面没有加&导致出现部分答案错误。
1.3、换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
输入格式:
输入在一行中给出待换的零钱数额x∈(8,100)。
输出格式:
要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。
输入样例:
13
结尾无空行
输出样例:
fen5:2, fen2:1, fen1:1, total:4
fen5:1, fen2:3, fen1:2, total:6
fen5:1, fen2:2, fen1:4, total:7
fen5:1, fen2:1, fen1:6, total:8
count = 4
结尾无空行
1.3.1、贴图展示代码
1.3.2、数据处理
1、数据表达:int整型定义变量x,count,并给count赋值为0,用scanf函数输入x
2、数据处理:for循环语句将各种可能出现的情况都列出来,if判断是否符合题目条件,符合则输入各种可能出现的,在利用count++将换法个数输出。
1.3.3、PTA提交列表及说明
答案错误:忘记对count的个数进行处理了,及可能出现换法个数。
1.4、求幂之和
本题要求编写程序,计算Sum=21+22+23+⋯+2n。可以调用pow函数求幂。
输入格式:
输入在一行中给出正整数n(≤10)。
输出格式:
按照格式“result = 计算结果”输出。
输入样例:
5
结尾无空行
输出样例
result = 62
结尾无空行
1.4.1、贴图展示代码
1.4.2、数据处理
1、数据表达:int定义变量n,sum;并给sum赋初始值0;防止编译器对其进行任意赋值影响最后的结果;scanf函数输入n。
2、数据处理:利用for循环求前n项和的值,还利用了pow函数得2的各次方数。
1.4.3、PTA提交列表及说明
1.5、打印九九口诀表
下面是一个完整的下三角九九口诀表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
本题要求对任意给定的一位正整数N
,输出从1*1
到N*N
的部分口诀表。
输入格式:
输入在一行中给出一个正整数N
(1≤N
≤9)。
输出格式:
输出下三角N*N
部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
4
结尾无空行
输出样例:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
结尾无空行
1.5.1、贴图展示代码
1.5.2、数据处理
1、数据表达:int整型定义变量i,j,n,result;scanf函数输入n
2、数据处理:for循环判断行列数,%-4d向左对齐占4位
1.5.3、PTA提交列表及说明
部分正确:没有看清题目,以为是输出一个九九乘法表,
而题目是输入一个n求其口诀表,而不是固定一个值
段错误:在使用for循环语句时,没有对其分段,及{}的错误使用,导致各段出现混淆,无法做出正确的判断。
2、学习总结
2.1 学习进度条
|
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
11/15-11/21 | 24h | 373 | 递归函数的使用 | 计算机的思维到底是什么,我应该怎样知道它的心思 |
2.2 累积代码行和博客字数
2.3 学习感悟
通过本周的学习,在使用递归公式的时候要给出一个终止信号,要通过计算机的思维去想问题,因此了解计算机思维很重要,所以在后面的学习中需要去通过计算机思维去想问题,解决问题。寻找一个最简单的解决方案,让计算机能懂我的想法,很多东西它早已被注释,我们需要去正确使用,让它们连贯起来,一同解决问题。