C语言I博客作业08
作业头
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11613 |
这个作业的目标 | 第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。 |
学号 | 20209056 |
1.1 7-1 显示指定范围内的素数 (10分)
输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
1.1.1数据处理。
数据表达: 定义了x, i, m, y四个整形变量,其中m为输入函数,x用于进行循环,y用于判断每行的数字是否满了十五个数,i为输出的素数。
数据处理: 没有数据的表达式。先用了if-else语句判断输入的数据是否符合要求,再使用两个for循环,一个用来判断目前数字是否为素数,另一个for循环用来将判断的数字增加到m-1,然后用三个if语句,判断应该输出什么。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
100 | 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 | |
53 59 61 67 71 73 79 83 89 97 | 实验数据测试 | |
2 | NO | m<=2的情况判断 |
549 | OVERFLOW | m>542的情况判断 |
1.1.4 PTA提交列表及说明
提交列表说明:
虽然在pta的历史记录上我是直接对的,但是我自己做的时候用了一个上午才写完,首先为自己上课不认真听讲付出了代价,先自己去把素数的判断去看了一遍,然后用的是m/2的方法去判断的,但是错了,很笨算不出来(很明显自己对素数判断的各种情况不了解,然后又成了一个个排除的方法去判断,最后才得出结果。
1.2 7-2 打印九九口诀表 (15分)
下面是一个完整的下三角九九口诀表:
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81
本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。
1.2.1 数据处理
数据表达:定义了i,j,n,三个整形变量,其中n为输入数据j,i用于判断。
数据处理:表达式:【printf("%d%d=%-4d",j,i,ij);】。运用了两个for循环进行运算。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 1*1=1 | 输入数据为一时的判断 |
4 | 11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16 | 实验数据处理 |
6 | 11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16 15=5 25=10 35=15 45=20 55=25 16=6 26=12 36=18 46=24 56=30 6*6=36 | 输入数据为6时的判断 |
1.2.4 PTA提交列表及说明
说明:
第一次直接在输出结果上打上四个空格,第二次换成了"%4d",结果完全不正确,第三次把输出结果改成了"%-4d"才得到部分正确的答案,最后在周宽的指导下,才把输出结果从i,j,换成j,i才得到完全正确。
2.代码互评(5分)
同学代码截图
同学1的代码:
同学2的代码:
自己代码截图
对比:
1,第一位同学的代码用上了英文符号,让定义的变量更加清楚他的作用。但是也有不足的地方,用的语言太原始了会让代码的编写变得麻烦也会让计算机读取时所使用的内存和时间变长。
2,第二位同学的代码和我的基本一样,但是也有些许的不足,我感觉这个代码还是不够偶简短,我在想是否能够用一个while语句或者再减少一个for语句的使用来完成整个题目的运算。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/12——10/18 | 15h | 157 | 简单的模仿书本敲打代码 | |
10/19——10/26 | 28h | 481 | 学到了if语句并能初步理解代码的意思 | |
10/27——11/8 | 34h | 832 | 学完了循环的大部分,能够看懂已经学过地代码和他地作用 | 无法熟练的运用各种语句,使用嵌套地语句十分困难 |
11/9——11/15 | 13h | 341 | 学会了简单地自定义函数,并学会了如何制作知识树 | 思维方式太过死板,编写的程序复杂难懂 |
11/16——11/22 | 14h | 257 | 循环的嵌套和数组的是哟个有点麻烦,主要是没有时间静下心去仔细学习 | |
11/23——11/29 | 12h | 189 | 数组的使用有点麻烦,再就是语句的使用有时候真的不知道为什么会直接跳过,只能通过调试一步步改过来,挺麻烦的 | |
11/30——12/7 | 10h | 236 | while语句的嘘唏我没什么问题,但是do-while的使用我还是有一点模糊,不是很清楚while和do-while的主要区别在那个地方。 | |
12/8——12/14 | 16h | 389 | 老师上课的时候没听讲,这个星期基本上没学到什么 | 基础知识掌握不牢,之前也一直没有静下心去学习,这个问题完全在这个星期的作业中凸显出来了。 |
3.2 累积代码行和博客字数(5分)
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 598 | 157 |
第二周 | 620 | 481 |
第三周 | 1174 | 832 |
第四周 | 1425 | 357 |
第五周 | 1545 | 257 |
第六周 | 1865 | 189 |
第七周 | 1740 | 236 |
第八周 | 1930 | 389 |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
自己之前的学习太过松垮,所有的问题在这个星期都暴露出来了,写代码时总是忘东忘西,写的代码一复杂自己完全没有方法去改过来思路,只能重新去写一遍,才能勉强把思路理清,而且有好多要记得基础知识我都没有去记住直接导致了很多题目我都不会做。