c语言的I博客作业07

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 作业要求
我在这个课程的目标是 熟练运用do-while分支语句,简化代码程度
这个作业在那个具体方面帮助我实现目标 循环结构的巧妙运用
参考文献 C语言程序与设计(第三版)
学号 20209007

1.PTA实验作业

1.1野王认证

1.1.1数据处理

数据表达:用了a,h,A,H,pa,ph,count七个变量,其中除了count都用scanf输入,且变量均为整型。
数据处理:while循环结构,累加表达式,if-else语句。
伪代码:
程序开始:
输入a,A,h,H,pa,ph六的值;
通过H1=H;h=h+ph;a=a+pa算式赋值;
分为if(a>=H)则The king of the wild certification!
if(H1<=0)则H1=H;count++;
if(h<=0)&&if(count==0)则I'm too dishes!;
else输出count的值。四种主要情况;
输出结果

1.1.2实验代码截图


1.1.3 造测试数据

输入数据 输出数据 说明
2 1 2 1 3 0 4 按照题目要求输出结果没错
2 0 2 0 1 2 The king of the wild certification! 不同输入值,输出结果正确
1 1 2 2 3 0 1 多输入确认,代码可用

1.1.4PTA提交列表及说明


部分正确1:最后一种情况没有描述清楚导致运行超时,变成死循环。
部分正确2:考虑a>=H时,只有if没有else,又没有结束计算,导致错误。
正确答案:请教室友检查出错误,并改正,但代码答案略长。

1.2循环-古角猜想

1.2.1数据处理

数据表达:只用了x一个变量,用scanf输入,为整型。
数据处理:while循环结构,运用积累表达式,if-else语句。
伪代码:
程序开始:
输入x的值;
ifx为奇数,则x=x*3+1;
ifx为偶数,则x=x/2;
输出 x

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
5 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 题目要求的运行没有错误
8 8/2=4 4/2=2 2/2=1 输入一个偶数,答案输出正确
3 33+1=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 输入一个奇数,答案输出正确

1.2.4PTA提交列表及说明


运行超时:考虑是否为偶数或奇数时,输出的printf只有x一个变量,应该还有另外一个表达式来输出题目需要的算式。
正确答案:通过看书查找发现错误,并改正完善代码。

2.代码互评

同学代码:


我的代码:


不同点:

1.同学的scanf输入不美观,我觉的应该分开输入比较整齐。
2.同学的a>=H情况放在外面,我的情况全部都在while循环里,且我们的情况考虑的不同。

同学代码:

我的代码:


不同点:

1.同学考虑的情况比较全面,且语句精简,而我的情况考虑太多,看的有点复杂繁琐,这点值得学习。
2.我们的while和if-else语句的运用不同,他的考虑次数全放在前面避免后面重复,而我的时分开考虑,我更倾向于同学的,这样可以减少代码行数。

3.1 学习进度条

周\日期 这周所花时间 学到知识点简介 目前比较迷惑的问题
十二周 8h C语言的分支结构 不知如何准确运用分支结构
十三周 6h switch语句以及多分支语句 如何简略准确的写出满意的代码
十四周 9h do-while语句以及循环结构 如何把各种情况概括起来,避免重复

3.2累积代码行和博客字数

3.3.1学习内容总结

3.3.2 学习体会

  • 1.还没完全弄懂do-while循环语句的过程由来,编译过程。
  • 2.这一周的学习有点困难,因为没做好充分的预习工作,导致PTA上的题目,有点力不从心。
  • 3.通过视频和同学之间交流慢慢改善自己的代码,使其简便且明确
posted @ 2020-12-05 20:22  罗颖(殇)  阅读(90)  评论(0编辑  收藏  举报