C语言I博客作业08

这个作业属于哪个课程 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>.学习的东西更多,接受的知识开始变复杂了,要多看书,多学习,上课老师讲解时认真听。

posted @ 2020-12-13 22:21  hao7777777  阅读(61)  评论(6编辑  收藏  举报