C语言I博客作业07

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-1
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-1/homework/11584
这个作业的目标 <使我更加熟练运用函数>
学号 <20209086>
这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 < https://www.cnblogs.com/cjrhh/p/14075698.html>
我在这个课程的目标是 <使我更加熟练运用函数>
这个作业在那个具体方面帮助我实现目标 <分析错误,造测试数据和代码互评 >
参考文献 <C语言程序设计,while循环,单重循环运用>

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


从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:

1.17-3 循环-古角猜想 (20分)

日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。

1.1.1数据处理

数据表达:用了整型变量n。n表示输入的自然数。
数据处理:用了while语句,if-else语句。while(n!=1){if(n%2==0){printf("%d/2=%d\n",n,n/2);n/=2;}
else{printf("%d3+1=%d\n",n,n3+1);n=n*3+1;}

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
5 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 5是奇数,奇数乘以3加1 偶数就除2,最后结果为1
3 33+1=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 3是奇数,奇数乘以3加1 偶数就除2,最后结果为1
8 8/2=4 4/2=2 2/2=1 8是偶数,偶数就除2,偶数再除2,最后结果为1

1.1.4 PTA提交列表及说明


1.多种错误:包括运行超时和答案错误;运行超时while循环中的n/=2打错无法结束循环,所以答案错误。
2.编译错误:更改的时候多删个分号。
3.部分正确:printf("%d3+1=%d\n",n,n3+1)因为图方便复制成printf("%d/2=%d\n",n,n/2)没有改过来。

1.2 7-7 单重循环—数鸡蛋。 (10分)

妈妈给小明家新送来 y个鸡蛋。 已知小明家原有鸡蛋的个数x是满足“三个三个的数剩1个,5个5个数剩z个,7个7个数剩3个”的最小数, 请问小明家共有多少个鸡蛋? (设输入为正数,不考虑非法输入)

1.2.1 数据处理

数据表达:整型变量x,y,z
数据处理:用了while语句,if语句while(x<=100){x++;if(x%3= =1&&x%5= =z && x%7==3)

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
4 3 77 x%3= =1&&x%5= =3&&x%7= =3得出x=73
2 4 96 x%3= =1&&x%5= =4&&x%7= =3得出x=94
3 5 Invalid Value! x%5不能等于5

1.2.4 PTA提交列表及说明


1.编译错误:开始一直不太确定x%5==z如何处理之后查了单重循环运用知道可以直接并在if中。
2.编译错误:x%5= =z输入成z= =x%5;
3.答案错误:开始时没有将x%5= =z输入if中。

2.代码互评(5分)

同学代码截图

贺姣代码截图

陈文杰代码截图

自己代码截图


1.我与贺姣同学代码大部分相同但是贺姣同学代码之间还使用了一个if语句使条件更加严谨;
2.陈文杰同学代码和贺姣同学代码相似,但是while中的条件不同,陈文杰的是a>=0,而我的和贺姣的是a!=-1;
3.因为题中明确写道以-1作为输入结束的标志所以a!=-1更加准确;
4.但是这告诉我们while的增长条件不唯一,所以不太确定如何给while定义终止循环条件。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周/10.19~10.25 20小时 20行 在屏幕上显示Hello World!markdowm语法
第九周/10.26~11.1 25小时 320行 变量和数据类型,如何在网上提问 无法准确定义
第十周/11.2~11.8 30小时 660行 if-else并列结构,for循环 部分格式不太了解
第十一周/11.9~11.15 33小时 870行 自定义函数 如何正确定义一个函数
第十二周/11.16~11.22 40小时 900行 字符型变量char 字符的输入输出
第十三周/11.23~11.29 42小时 935行 多分支结构switch语句的使用 switch语句的选择
第十四周/11.30~12.6 39小时 879行 while循环do-while循环运用 循环终止条件如何设置,伪代码

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

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

3.3.1 学习内容总结

3.3.2 学习体会

本周学习了while语句和do-while语句,知道了while语句与do-while语句的区别,当循环次数明确时用for语句,;如果循环次数不明确且需先进入循环则用do-while语句。这次pta难度有点大,特别是野王认证,我还是在同学的帮助下才完成,但是我一定会在课后去解决我的一些问题,通过询问同学,上网查寻来解决问题,通过每次的积累,从而进一步完善自己,让我们加油!

posted @ 2020-12-05 00:39  低头不称意  阅读(271)  评论(4编辑  收藏  举报