C语言I博客作业08
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-4 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11629 |
这个作业的目标 | <继续深入了解这门语言,掌握break与continue语句 > |
学号 | <20209193> |
1.PTA实验作业(20分/题)
1.1 题目1
本题要求对任意给定的一位正整数N,输出从1*1
到N*N
的部分口诀表。
输入格式:
输入在一行中给出一个正整数N(1≤N≤9)。
输出格式:
输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。
1.1.1 数据处理
数据表达:用了n,j,i三个变量,i,j直接在for循环初始化,n为输入值。
数据处理:在打印结果时用到了"%d*%d=%-4d",j,i,i*j表达式;并且用了嵌套循环结构。
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | 输出从1*1 到4*4 的乘法口诀表 |
|
9 | 输出从1*1 到9*9 的乘法口诀表 |
|
1 | 1*1=1 | 输出1*1 的乘法口诀表 |
5 | 输出从1*1 到5*5 的乘法口诀表 |
1.1.4 PTA提交列表及说明
段错误:输出语句不完整。
1.2 题目2
输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“OVERFLOW”),输出各素数——若输入的m≤2,则提示“NO”,程序终止。注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
输入格式:
输入一个非0的整数。
输出格式:
素数的输出格式为每个素数5列宽、右对齐、每行显示15个。
1.2.1 数据处理
数据处理:用了m,i,x,a四个变量,且均为整型,其中m为输入得到,其他三个在循环结构初始化。
数据表达:用到了分支结构和循环嵌套结构。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
100 | 100内所以的素数 | |
568 | OVERFLOW | 568以内的素数个数大于100个 |
1 | NO | 程序终止 |
1.2.4 PTA提交列表及说明
虽然答案正确但是在C++中运行的时候出现了多次部分正确的情况,其原因是代码不完整,缺少条件语句导致的
2.代码互评(5分)
同学代码截图
自己代码截图
1.郑彬彬同学的代码用了三层的循环嵌套运算量相对而言更大,我的代码相对而言要优化一些。
2.我们在思路上也不同
3.张宇韬同学是先输入一个数再求每位数,而我的是直接输入六位数,张宇韬同学的代码可用性更强。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花时间 | 代码行数 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第三周 | 四天 | 130 | for循环结构 | 博客园的格式表格 |
第四周 | 一天 | 140 | 定义函数 | 当函数中有多个变量时应该怎么定义 |
第五周 | 一天 | 152 | 分支结构 | 当同时有多个分支时不能有清晰的思路去运用if-else语句 |
第六周 | 一天 | 170 | switch语句 | switch中case后面能否再接if结构 |
第七周 | 四天 | 201 | while语句do-while语句 | 循环体循环体不是很清楚 |
第八周 | 四天 | 2092 | break与continue语句 | 关continue语句后面的语句是否执行 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
1.感觉PTA的作业越来越难了。
2.感觉自己掉队了。
3.感觉一周两节课内容不是很多,但实际上要掌握的东西挺多的。
对于如何跳出多重循环:第一可以在循环内部设定一个停止条件;第二增加break;第三使用goto语句(无条件转移语句)goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。但是,在结构化程序设计中一般不推荐使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。