C语言博客作业02--循环结构

1.本章学习总结

1.1思维导图

1.2本章学习体会及代码量学习体会

1.2.1学习体会

本周的时间我们学习了主要是循环语句,首先学习的就是比较简单的一个for语句,for语句是把判断条件和循环语句都放在for括号里,先以变量的初始值进入循环中,进行一次循环之后再判断是否进行接下来的循环;接下来的就是while语句,while语句是在进行循环之前就做出判断是否进入循环,避免了for语句中某些值不能进行循环的错误出现,for语句和while语句中都可以运用if-break语句来进行林外的判断,确定是否跳出循环语句。在这星期的学习中,我觉得对于循环语句中变量的变化和flag以及getchar的使用还是不是很理解,代码有的也是在同学的帮助下测试完成,自己找出错误的能力还是欠缺,有很多细节的地方需要注意,接下来的变成学习中需要自己运用调试的功能,争取能够自己测试出代码中的漏点。

1.2.2代码累计

2.pta总分


3.pta实验作业

3.1pta题目1

7-3 编程打印空心字符菱形 (10 分)
本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。

3.1.1算法分析

3.1.2代码截图


3.1.3测试数据

3.1.4 PTA提交列表及说明!



·Q1:第一次错误是把if中的判断条件,且写成了或
·A1:把两个if语句中的条件进行修改
·Q2:第二次错误还是if判断中的条件出了问题,判断条件出错,只适用于本题的解题
·A2:把if语句进行了修改,把判断条件缩减,去掉了且语句,增加了if判断和相应的输出
·Q3:在测试的时候为了方便统计空格的输出,把空格换成了导致错误
`A3:把printf中的
改成空格

3.2pta题目2

7-9 龟兔赛跑 (20 分)
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?

3.2.1算法分析

3.2.2代码截图


3.1.3测试数据

3.1.4pta提交列表及其说明


·Q1:第一次错误是算法出现错误,忽略了在休息前判断是否兔子在乌龟前面
·A1:加入了flag判断是否需要休息
·Q2:第二次错误在于忽略了对于兔子是否比乌龟快
·A2:加入了判断条件if(x>y)
·Q3:第三次错误在于每个条件的排列错误,如j=0和i=0,初始化的位置错误
·A3:把初始变量的位置调整过来,使得每次循环都能够准确进行

3.3pta题目3

7-7 餐饮服务质量调查打分 (10 分)
在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来,这会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个正整数n(1≤n≤20),表示有n个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~5这5个等级(1表示最低分,5表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。

3.3.1算法分析

3.3.2代码截图


3.3.3测试数据

3.3.4pta提交列表及其说明


·Q1:switch语句中的条件出现错误
·A1:改正了swhich的条件,把swhich(level)多定义了grade
·Q2:在最后的整理输出中直接用level,导致输出错误
·A2:多定义一个count,用count来整理次数

4.代码互评

同学代码

我的代码

差别

·1.同学用的变量与我定义的不同,算法上没什么差别
·2.同学的for语句内的条件直接用数字,而我多定义了一个x来表示数字

posted @ 2018-10-28 10:18  林炜  阅读(754)  评论(0编辑  收藏  举报