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 学习体会