C语言I博客作业08

1.作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11613
这个作业的目标 自学数组,熟悉break、continue的使用和对for循环嵌套的理解及灵活运用
学号 20209045

2.PTA实验作业(20分/题)

请再此处列出自己的排名图片,如:

1.1 1.1 显示指定范围内的素数

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

1.1.1 数据处理

数据表达:使用else if处理三种情况,另外还设置一个整型变量flag判断素数
数据处理:先用if语句分成三种情况,再利用for循环判断2到n的每一位数是否为素数,并做相应的输出。

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 一般情况
568 OVERFLOW 素数溢出时
1 NO m<=2时

1.1.4 PTA提交列表及说明


1.答案错误:将count>100作为判断输出溢出的条件,当n>541时不但输出了溢出,还将541之前全部的素数都输出来了
2.答案正确:count每次的值都加一,所以无法作为判断条件(应该有但是处理起来较复杂我也没想到),便换了一种最简单粗暴的方式
,直接将m>541当判断条件

1.2 题目2:在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。

1.2.1 数据处理

数据处理:定义了n,i,five,two,one,
数据表达:和之前老师讲的搬砖问题相似,换了五元和两元的剩下的就是一元的,每种都用一个for循环来实现;

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据
8 five=1,two=1,one=1
9 five=1,two=1,one=2
10 five=1,two=1,one=3 five=1,two=2,one=1

1.2.4 PTA提交列表及说明


编译错误:scanf后面的符号&忘记打了由编译器知道的
答案错误:由于我刚开始循环的顺序是one,tow,five,后而输出顺序是倒过来的,
段错误:在for循环中少了中括号,当时并不太明白错误在哪,后来百度了段错误的意思才知道

3.代码互评(5分)

A同学代码截图:

B同学代码截图:

自己代码截图

与同学的不同:其实区别不大,都是运用else if连结for循环结构,索取间隔不同

3.学习总结(15分)

3.1 学习进度条(5分)

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


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

3.3.2 学习体会

1.在本周的学习过程中学会了怎么去运用for的镶嵌模型
以及如何去判断素数并学会运用加以巩固。
2.九九乘法表虽然上课讲了,但其实还不是很能理解所讲的分别表示行,列的意思
3,希望老师这周别学习新内容,能够让我们继续深入理解for循环嵌套。

posted on 2020-12-14 17:39  上课会偷偷看她  阅读(97)  评论(1编辑  收藏  举报

导航