C语言I博客作业08

1.作业头

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

一、本周教学内容&目标

第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。

二、本周作业

1.PTA实验作业
2.代码互评
3.学习总结

三、作业格式

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

1.1打印九九口诀表

本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。

1.1.1数据处理

数据表达:根据题目要求定义了N,n,i这些变量。N,n,i都是整型变量。
数据处理:循环语句的嵌套。先要输入N,然后再利用一下for (n = 1; n <= N; n++)和for (i = 1; i <= n; i++)的嵌套使1到9的乘法口诀一个一个输出。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
4 1*1=1
12=2 22=4
13=3 23=6 3*3=9
14=4 24=8 34=12 44=16 满足题目要求
2 1*1=1
12=2 22=4 满足题目要求
6 1*1=1
12=2 22=4
13=3 23=6 3*3=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 5*5=25
16=6 26=12 36=18 46=24 56=30 66=36 满足题目要求

1.1.4 PTA提交列表及说明

提交列表说明:

答案错误:没有满足左右对齐。
多种错误:格式错误和答案错误一起出现了。
格式错误:多了或少了空格,也没有满足等号右边数字占4位。
部分正确:只有一个测试点得了分数。
解决方法:“printf("%d*%d=%-4d", i, n, n*i);” 在第三个d前面加-号就表示向左对齐,加个4就表示数字占4个位置。加上这两个符号就满足题目的全部要求。

1.2显示指定范围内的素数

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

1.2.1 数据处理

数据表达:根据题目要求定义m,i,j,a,n这些变量,m,i,j,a,n这些变量都是整型变量。
数据处理:运用了if-else语句的嵌套和循环语句。利用“if(m<2)”和“if(a>100){printf("OVERFLOW");return 0;}”来限制质数的个数和质数的大小,再利用以下代码来逐个输出质素。 
 代码:  a=0;
        for(i=2;i<=m;i++){
        n=sqrt(i);for(j=2;j<=n;j++){
            if(i%j==0)break;
        }if(j>n){
            a++;
            printf("%5d",i);
            if(a%15==0)
                printf("\n");
        }
    }

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
1 NO 如果输入的数小于2就输出NO
-5 NO 如果输入的数小于2就输出NO
568 OVERFLOW 在这范围内的质数多于100
988 OVERFLOW 在这范围内的质数多于100
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 符合题目要求,逐个输出质数
10 2 3 5 7 符合题目要求,逐个输出质数

1.2.PTA提交列表及说明

编译错误:在i%j==0和a%15==0中少打了=。
格式错误:没有满足每行输出15个。
答案错误:没有满足每个质数要5列宽。
部分正确:只满足条件输入的值要>=2,不能满足质数的个数小于100.
解决方法:(1)多加一个=。(2)质数每15个就输入一个换行符进行换行。(3)在输出的d前面加5。(4)打两遍质数逐个输出的程序,第一个程序限制质数的个数,第二个程序把质数逐个输出。

2.代码互评(5分)

找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。

同学代码截图

同学1:

同学2:

自己代码截图:

1.同学的代码比我更高级,其中一位用了%1d这取余的技巧来减少代码的行数。是我要向他学习!😁
2.同学的代码更加整洁有序,也更加的美观。
3.同学的代码比我的更让人看得懂。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较困惑的问题
9/12.16-12.19 13h 700 break、continue和循环的嵌套的简单用法 循环嵌套的题目逻辑还没搞清楚,一些打印的题目也没搞清楚。

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

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

3.3.1 学习内容总结

3.3.2学习体会

请回顾自己的本周的学习过程,描述学习感受,也可以提出你不理解的地方、对教师教学建议等。如果你有新的想法或者新的方法,请及时记录下来。
跳出多重循环的方法:(1)使用goto。(2)写出函数return。(3)直接修改外层循环条件。(4)在大循环后面判断标志加入break。(5)在外层循环设置判断条件。
学习感受:
(1)我希望老师能多讲讲循环的嵌套的题目和打印类的题目,让我们更加清楚的理解其中的逻辑关系。
(2)学的越多,越感觉自己越废,每次出现没学过的内容,就感到束手无策,好难啊!😢
(3)每次的PTA作业感觉都有好多不知道,也不知道是不是我对自己要求太多,总想看到一个题目就能马上做出来,可是每次都不行,看来我们要一步一个脚印学习,不能一步登天!🛫
(4)总结,细心,逻辑思维的锻炼必不可少。

posted @ 2020-12-18 19:20  小雨同学  阅读(97)  评论(10)    收藏  举报