C语言博客作业08

作业头:

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627
这个作业的目标 <熟悉break、continue的使用和熟悉使用循环的嵌套解决问题。>
学号 <20209135>

1.PTA作业

排名图片:

1.1

输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

输入格式:

输入一个非0的整数。

输出格式:

素数的输出格式为每个素数5列宽、右对齐、每行显示15个。

输入样例:
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
输入样例:
568
输出样例:
OVERFLOW
输入样例:
1
输出样例:
NO

1.1.1数据处理

数据表达:定义了i,n,m,count四个整形变量;m为输入的数;count用来计算质数个数。
数据处理:对输入数m进行判断,m小于等于2则输出“NO”,否则如果大于541则输出“OVERFLOW”,否则用两个for的循环语句嵌套;再用count计数15个数字换行;

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
1 NO 1既不是素数也不是合数
52 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 在3到52间有14个素数
569 OVERFLOW 取569时,素数超过了100个

1.1.4 PTA提交列表及说明

1.编译错误:大括号太多弄混淆了;
2.部分正确:把质数2排除在外,用i=3开始循环;
3.部分正确:忘记加十五个数一行;添加一个计数变量count来调整。

1.2

在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。

编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。

输入格式:
输入在一行中给出待换的零钱数额(大于等于8小于等于100)
输出格式:
每行输出一种兑换方式,按照如下格式输出(并且每一种面值的人民币都是从小到大输出):
five=五元数量,two=两元数量,one=一元数量
输入样例:

在这里给出一组输入。例如:

13
输出样例:

在这里给出相应的输出。例如:

five=1,two=1,one=6
five=1,two=2,one=4
five=1,two=3,one=2
five=2,two=1,one=1

数据处理

数据表达:定义了i,n,M,money,a,b六个整型变量,M作为输入的钱的值;i为换成5元的数,b为换算成2元的数,money为1元的数;
数据处理:对输入的M处理,算出可以换算成多少个5元的,记为n;for循环,money为减去i个5的值;再嵌套一个for对money处理,减去b个2;剩下的money为1元的个数;

实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
13 five=1,two=1,one=6 five=1,two=2,one=4 five=1,two=3,one=2 five=2,two=1,one=1 13元换成5元的2元的和1元的有四种换法
8 five=1,two=1,one=1 13元换成5元的2元的和1元的有一种换法
5 5是小于8的

1.2.4 PTA提交列表及说明

 段错误:忘记在输入M的时候加上定位符&;
部分正确:把输出的数弄混淆,把i打成n;
格式错误:忘记在输出时,每次循环要换行;

2.代码互评

2.1

同学的代码截图:

自己的代码截图:

1. 该同学的代码调用了数学函数;而我只用到了主函数
2. 该同学定义了6个整形变量;而我定义了4个变量
3. 该同学是在代码中算出第一百个素数;而我是直接运用541来进行编写

2.2

同学的代码截图:

自己的代码截图:

1. 该同学定义了四个整形变量;而我定义了六个整形变量
2. 该同学用while循环来进行处理;而我用的是两个for的嵌套处理
3. 该同学用到了goto来打破循环;而我用到的是break打破循环

3.学习总结

3.1学习进度条

周/日期 这周所花时间 代码行 学到的知识简介 目前比较迷惑的问题
第八周10.19~1025 29小时 690 printf显示,hello world类型的代码
第九周10.2~11.1 32小时 780 if,else的使用,计算华氏温度的转化 运算规则
第十周11.2~11.8 33小时 780 for的循环结构的使用,数学函数 数学计算
第十一周11.9~11.15 35小时 800 定义函数,调用函数
第十二周11.16~11。22 37 860 if /else的进一步学习
第十三周11.23~11.28 37 840 分支结构switch的学习 switch的运用还是不太熟,需要多加练习
第十四周11.30~12.5 36 850 while和do-while循环语句的运用 while的循环运用不熟练,时常出现运行超时的问题
第十五周·十六周12.6~12.20 1660 熟悉break、continue的使用和熟悉使用循环的嵌套解决问题 循环语句的嵌套不够熟练,对break和continue的学习不够严谨

3.2累计代码行和博客字数

3.3学习内容总结和感悟:

3.3.1学习内容总结:

3.3.2 学习体会

1.快期末了,随之而来的就是要考试了,忙忙碌碌等的就是考试来检测自己,看的就是考试中自己的发挥。
2.这些天的学习节奏说快也不快,毕竟没有博客园,pta来烦我们,但是说满也不慢,因为没有C语言作业也有其他的作业,因为要考的不是只有一门C,不想挂科,所以室友和我一起在寝室又过了这么多天。
3.忙在寝室的感觉也不是很差,外面很冷,不是谁都想出去挨冻,我们在寝室学习也还是挺充实的。
4.这次我们有一周没有作业,所以我们都只是复习了一下下。
5.为什么这周又要写C语言作业,哎,很烦的,不喜欢被安排做作业,能不能让自己做点想做的。每次要做这个就要花费好长时间。感觉不是充实,只有累。
6.对于如何跳出多重循环:a.设定一个停止条件;
b.break;
c.goto语句(无条件转移语句,goto语通常与条件语句配合使用,可用来实现条件转移, 构成循环,跳出循环体等功能。但是,在结构化程序设计中一般不推
荐使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。)

原文地址:https://www.cnblogs.com/loveyourself/p/14144249.html