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.通过视频和同学之间交流慢慢改善自己的代码,使其简便且明确

浙公网安备 33010602011771号