C语言I作业10
这个作业要求在哪里|C语言I—2019秋作业 |
---|:--😐--😐
我在这个课程的目标是| 预习第五章函数,并完成PTA上的函数题 |
这个作业在那个具体方面帮助我实现目标|仔细阅读C语言教材 认真完成PTA作业 上网学习相关视频|
参考文献|C语言程序设计 中国大学MOOC |
1.PTA实验作业
1.1 梅森数
形如2n−1的素数称为梅森数(Mersenne Number)。例如2−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。
1.1.1数据处理
数据表达: 定义整形变量n, sushu, Balala, i,N, count=0,as=0;
数据处理:运用两个for循环,第一个for循环是用于找出梅森数,第二个是为找出在这个数下是否有其它的因子。使用两个for
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 结果 |
---|---|
2 | 3 |
3 | 3 7 |
1.1.4 PTA提交列表及说明
部分正确:只能输出“None”,没有其他的数据。通过更改代码第一个for循环as=0。
部分正确:同上。
伪代码:
1.2 同构数
一个数恰好出现在它的平方数的右端,这个数就称为同构数。找出1~1000之间的全部同构数。
1.2.1 数据处理
数据表达:
数据处理: 直接输出1~1000之间的全部同构数。
伪代码:
1.2.2 实验代码截图
1.2.3 造测试数据
输出数据 | 说明 |
---|
1 5 6 25 76 376 625|1~1000之间的全部同构数|
1.2.4 PTA提交列表及说明
2.代码互评(5分)
(彭杰同学的代码)
(梁某人的代码)
(1)我和彭杰同学的代码的差距主要在于他调用了数学函数,使用了sqrt来减小数字。使得程序的运算更快,更便捷。这在我和助教运行我的程序时,可以很明显的发觉,我输出的梅森数达到7、8位时就开始运行迟缓,每输出一个数就会需要5、6秒。让数字被开方可以极大地节省时间,优化了程序。
(2)但是我还没懂如果一个数字被开方,会不会对原来的结果造成影响。例如我认为这样可能对原本的for语句中继续运行条件可能会出现改变,导致结果出现偏差。
(3)
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第四周9.16~9.22 | 2小时 | 行 | 在屏幕上显示Hello World! | 暂无 |
第五周9.23~9.29 | 2小时 | 100行 | 求华氏温度对应的摄氏温度 | 暂无 |
第六周9.30~10.6 | 3小时 | 400行 | 如何用 MinGW-w64 来编译C程序 | 暂无 |
第七周10.7~10.11 | 8小时 | 500行 | 运用if语句完成各种数学程序 | 对于scanf的用法不了解 |
第八周10.18~10.18 | 6小时 | 800行 | 掌握for语句,同时在了解了do while | 对程序的运算次数的运营有一些困难 |
第九周10.19~10.26 | 9小时 | 1200行 | 学习函数有关的结构,开始完成通过PTA完成书本上的作业 | 上课前没预习,刚开始有点懵 |
第十周10.27~11.2 | 16小时 | 1880行 | 熟悉多分支结构、字符型数据类型和逻辑运算符。 | |
第十一周11.3~11.8 | 35小时 | 2506行 | 熟悉多分支结构switch语句的使用。 | 有关字符型知识没去及时学习 |
第十二周11.8~11.14 | 52小时 | 3320行 | 熟熟悉使用while和do-while结构解决问题,学习各种循环结构的镶嵌结构处理。 | |
第十三周11.14~11.22 | 62小时 | 3650行 | 熟悉多分支结构、字符型数据类型和逻辑运算符。 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
(1)这次我完成了不少的PTA题目,但我的调试任然很差劲,是因为在机房上课时不认真导致的。只想着去直接改代码,结果没有学到调试方法。
(2)这次我意识到了每次循环都要注意一些数据的重置,例如我的的第三题就没有做好,as本来是我利用来计算sushu是否是素数,但我没有及时把每次的as重置,导致程序陷入死循环。
(3)经常找不到自己的代码错误,比较影响自己的自信心,经常认。