C语言I博客作业06

C语言I博客作业06

作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530
这个作业属于那个课程 C语言程序设计II
我在这个课程的目标是 灵活运用switch
这个作业在那个具体方面帮助我实现目标 回顾之前,学的一定的牢牢掌握
参考文献 c语言程序设计(第三版)
学号 20208955

二、PTA实验作业(20分/题)

排名图片

1.1

第一题

实验4-2-3 验证“哥德巴赫猜想”
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。

1.1.1

数据处理

数据表达:使用了变量 整型n,p,i,m,x; n是输入的数,p代表输出的最小数,m是转换的,x是函数定义,i是用于循环
数据处理: 表达式:x % i == 0;  流程结构:主要是判断素数,然后再得让这两个素数之和为所输入的这个数(小的优先输出)
函数处理:主函数:先使循环判断输出的素数相加为n。副函数:主要就是素数的判断了(还要排除为1,2的情况)

1.1.2

实验代码截图


1.1.3

造测试数据

数据 结果 说明
2 (无) 2不符合要求
6 6 = 3 + 3 符合条件的最小值
28 28 = 5 + 23 正常数值

1.1.4

PTA提交列表及说明

其实都是在VS中反复试了很多遍,所以提交列表和所相应的问题就比较少了

说明

编译错误:将VS中的“#define _CRT_SECURE_NO_WARNINGS”不小心带出来复制了。

格式错误:开始的时候以为VS中的修格式可以把算式也可以修好,就没注意题目中输出格式,后面注意到了,所以为了避免以后格式错误,还是直接复制吧。

1.2

第二题

7-7 幸运彩票 (15分)
彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。

1.2.1

数据处理

数据表达:定义了 整型变量 n,a,b,c,d,e,f,m;n是输入的个数,i用于循环,m是循环时所输入的数,a,b,c,d,e,f分别代表了这个六位数的个,十,百,千,万,千万位。
数据处理:  表达式:a + b + c == d + e + f; 流程结构:主要是利用‘%’,‘/’去算出六位数的个,十,百,千,万,千万位。再判断前 3 位上的数之和是否等于后 3 位上的数之和

1.2.2

实验代码截图

1.2.3

造测试数据

数据 结果 说明
2 222213 223241 You are lucky! You are lucky! 两个都符合
2 345678 876098 Wish you good luck. Wish you good luck. 两个都不符合
1 901523 You are lucky! 只输入一个数

1.2.4

PTA提交列表及说明

说明

答案错误: 少算了f.

编译错误: 开始时本来是将m数组,后面发现没有这个必要,于是就换了,但是[i]没有删干净。

三、代码互评

同学代码

第一位


第二位


自己


第一位

  • 基本思路差不太多,在主函数判断两个素数的时候,更加细致,考虑了m <= (a - m),而且,都带了括号,虽然在这个题目中不太影响,但是可能在其他题目上可能就细节决定成败了。

  • 在副函数中,判断不符合条件的时候我是定义了个j,如果不符合,j=1。这位同学是直接return 0;他的看起来可能就更高级了。

  • 中途我用m=sqrt(x),这位同学直接是sqrt(n),我的比较多此一举吧。

第二位

  • 这位同学运用了2个函数,就算多用一个,但是思路依旧很清晰,对函数的掌握特别好。

  • 判断素数的方法都是一样的,但是他和第一位同学的返回方式是一样的,就和我有不同。

  • 我的用for循环,这位同学是while,他的看起来更简洁,并且,他的还的让两个素数为‘1’。

3.1学习总结(15分)

3.1 学习进度条(5分

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周 6小时 262 怎么输出内容 一些结构的定义
第九周 8小时 670 开始输入及套用公式 字符的一些定义
第十周 24小时 593 数组 迷糊流程,字符串,以及对题目的处理
第十一周 30小时 1034 函数 宏定义,对题目不能很好的反应过来
第十二周 32小时 2431 EOF等一些基本知识,接触到了c++ 对于一些函数还不能很好的运用
第十三周 32小时 2742 switch的灵活运用 用函数去表达素数

3.2累积代码行和博客字数(5分)

时间 博客字数 代码行数
第八周 585 262
第九周 1031 670
第十周 1289 593
第十一周 1413 1034
第十二周 1664 2431
第十三周 1998 2742

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

这周在回顾的时候发现以前学过的知识,重新去写,还是不能就是得心应手。比如:对于素数还存在问题,就是遇到一“加工”过的素数,就蒙了,这也许是当时学的时候就还没有完全掌握,以至于在稍微一难,就不会了。所以还是要反复去回顾的,而且在开始学的时候就最好是完全掌握它。然后就是这周的学习进度稍微有点慢了,害,有的就是真的想不出来,麻脑壳,所以劳逸结合还是特别有必要的。调理好心态,又是元气满满的一周!
posted on 2020-11-27 18:19  浮生若梦☆  阅读(240)  评论(8编辑  收藏  举报