这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11611 |
这个作业的目标 | <区别break、continue语句并学会使用 , 熟悉使用for循环嵌套> |
学号 | <20208969> |
1.PTA实验作业(20分/题)
请再此处列出自己的排名图片:
1.1 题目名1:7-1 显示指定范围内的素数 (10分)
题目内容描述:
输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
1.1.1数据处理
数据表达:用了m,i,j,k变量;这些变量的值是赋值来的;都是整型变量。
数据处理:流程结构:运用if-else语句和for循环的嵌套
表达式:
if(m>541);
if(m<=2);
for(j=2;j<=m;j++);
for(i=2;i<j;i++);
if(j%i==0);
if(j==i);
if(k%15==0)
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 | 输入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 | 输入568时数组中的素数超过100 |
1 | NO | 输入1时程序终止 |
7 | 2 3 5 7 | 输入7时数组中的素数是2 3 5 7 |
1.1.4 PTA提交列表及说明 | ||
提交列表说明:
运行超时:错误太多;
部分正确:只有输入样例100时运行正确,忘记考虑输出“OVERFLOW”和“NO”的情况;
部分正确:使用if语句将“数组最多只存放100个素数”的情况写入,但放的位置不对;
解决办法:用if-else语句分支结构,将for循环的嵌套写入里面。
1.2 题目2:7-2 打印九九口诀表 (15分)
题目内容描述:
下面是一个完整的下三角九九口诀表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。
1.2.1 数据处理
数据表达:用了N,i,j变量;这些变量的值是定义来的;都是整型变量。
数据处理:流程结构:for循环的嵌套
表达式:
for(j=1;j<=N;j++)
for(i=1;i<=j;i++)
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | 输入4时输出结果如图 | |
9 | 输入9时输出结果如图 | |
0 | 输入0时无输出结果 | |
1.2.4 PTA提交列表及说明 | ||
提交列表说明:
答案错误:格式错误:输出时没满足题目要求“等号右边数字占4位、左对齐”;且输出结果错误;
部分正确:输出结果为
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16 没注意双for循环中的内层和外层情况
解决办法:printf输出时用“%-4d”;将输出“printf("%d*%d=%-4d",j,i,i*j)”中的i和j调换位置。
2.代码互评(5分)
A:
同学代码截图
自己代码截图
比较:同学代码中使用了if-else语句,考虑问题比较周到。
B:
同学代码截图
自己代码截图
比较:都使用三重嵌套;循环条件中我直接写的结果。
3.学习总结(15分)
3.1 学习进度条(5分)
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
<1>.break语句比continue语句使用范围更广;continue只能跳出当前这一层循环,而break是跳出整个循环,return 0结束多重循环;continue后面的语句不执行。
<2>.之前做完题目总是会出编译错误,而现在更多的是编译后显示没有错误,但一输入样例就结果错误,没有结果等等。说明面对的问题更难了。
<3>.学习的东西更多,接受的知识开始变复杂了,要多看书,多学习,上课老师讲解时认真听。