C语言I博客作业04

这个作业属于哪个课程 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.做题目太少,做题目不可以马上想出思路,这导致我做题速度很慢,要花许多时间在想思路上
posted @ 2020-11-13 22:04  懒癌·晚期患者  阅读(309)  评论(3编辑  收藏  举报