这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | 作业要求的链接 |
我在这个课程的目标是 | 熟练使用C语言进行编译 |
这个作业在那个具体方面帮助我实现目标 | 这次作业让我学会了自定义函数,解决了我以前的所遇到的一些问题 |
参考文献 | 文献 |
学号 | 20209188 |
1.PTA实验作业
1.1 水仙花数
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。
输入格式:
输入在一行中给出一个正整数N(3≤N≤7)。
输出格式:
按递增顺序输出所有N位水仙花数,每个数字占一行。
输入样例:
3
输出样例:
153
370
371
407
1.1.1数据处理
数据表达:整数型:num,N.sum。N 用于承载输入数据,num 用于承载测试数据,sum 用于承载测试数据的每个位的 N 次方,并且用于最后的判断
数据处理:数据表达式:赋值表达式,关系表达式,逻辑表达式。流程结构:循环结构,判断结构。
函数参数:主调函数:mian
被调函数:pow(m,n) 整数型
实参:a,N
形参:m,n
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | 1634 8208 9474 |
当输入4时,输出所有4位数的水仙花数 |
6 | 548834 | 当输入6时,输出所有6位数的水仙花数 |
7 | 1741725 4210818 9800817 9926315 |
当输入7时,输出所有7位数的水仙花数 |
1.1.4 PTA提交列表及说明
1.答案错误:7位的数只计算出一部分
2.部分错误:运行超时,当输入7时超出题目要求,后来自定义了一个判断pow函数进行幂的运算。因为调用函数会比函数库的快
3.多种错误:一开始没有看清题目,代码只能进行3位数的水仙花数计算
1.2 高空坠球
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?
输入格式:
输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。
输出格式:
在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。
输入样例:
33 5
输出样例:
94.9 1.0
1.2.1 数据处理
数据表达:整数型:h,n,sum。h,n 用于承载输入数据,sum 用于承载最后题目要求的空中所经过的距离数据
数据处理:数据表达式:赋值表达式,关系表达式,逻辑表达式。流程结构:循环结构,判断结构。
函数参数:主调函数:mian
被调函数:无
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 1 | 1.0 0.5 | 高度为1,第一次落地所经历的高度与第一次反弹高度 |
1 0 | 0.0 0.0 | 高度为1,第零次落地所经历的高度与第零次反弹高度 |
4 5 | 11.5 0.1 | 高度为4,第五次落地所经历的高度与第五次反弹高度 |
1.2.4 PTA提交列表及说明
部分正确:第0次落地所经历的高度与第0次反弹高度搞错了,一直不知道输出的值为多少
-
2.代码互评
-
所选题目
验证“哥德巴赫猜想” 数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。 输入格式: 输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。 输出格式: 在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。
-
同学代码截图
自己代码截图
不同:
1.在进行数据处理时,我是把两个数据同时输出出来,同时判断。而她是判断一个数是真后用,再用总数减去所判断为真的数得到一个数,再进行判断。
2.在进行判断是,她直接使用0,1进行判断真假。
3.她所写的代码简单明了,使用了较少语句,比我的代码简单。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第8周/10.19~10.25 | 36 h | 410 | if-else语句,for循环 | 无 |
第9周/10.26~11.1 | 36 h | 1250 | 数组的运用 | 无 |
第10周/11.2~11.8 | 36 h | 2540 | 本周复习 | 无 |
第11周/11.9~11.15 | 40 h | 4950 | 函数的自定义 | 为什么自定义的函数可以节省运行时间,使用时还是会进行运算,为什么放在主函数外可以节省运算量 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.本周学习中,我学会了对函数的使用,减少了我的代码的运行量,使我做题有了不同的思路
2.感觉自己基础知识不牢靠,有一些实用的小技巧不知道,这导致我的代码相较于其他人的代码会复杂许多
3.做题目太少,做题目不可以马上想出思路,这导致我做题速度很慢,要花许多时间在想思路上