1.本章学习总结
1.1 思维导图
1.2 本章学习体会及代码量
1.2 本章学习体会及代码量
1.2.1 学习体会
1.这两周的学习懂得了循环结构的使用方法,懂得了在什么时候应该使用循环结构来处理问题,也学会了在哪种题目该使用哪一种循环语句。
2.与第一章相比,明显感觉到了难度的增加,在面对一些问题时会感觉没有思路,有时候完成一道题目甚至需要花费好几个小时。
3.感觉到了自己能力的不足,题目刷的不够多,花费在c语言上的时间应该要更多了,要努力提升自己的知识水平.
1.2.2 代码累计
2.PTA总分
2.1截图PTA中循环结构2次题目集的排名得分
2.2 我的总分
循环结构(单层):175分
循环的嵌套:115分
总分:290分
- 实验作业
3. 实验作业
3.1 PTA题目1
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?
3.1.1 算法分析
定义T为总时间,定义一个变量i来储存时间
定义j,定义flag 其中,将flag赋值为0
定义tuzi,wugui 将tuzi,wugui赋值为0
输入总时间T
for i=1 to T do
wugui=wugui+3
if flag==1
tuzi=tuzi+9
if i%10==0并且tuzi>wugui then flag=0
j=0
else
j=j+1
if j==30 then flag=1
end if
end for
if wugui>tuzi then 输出 @_@ wugui
else if wugui==tuzi then 输出 -_- tuzi
else 输出 ^_^ tuzi
end if
3.1.2 代码截图
3.1.3 测试数据
测试点 | 输入 | 输出 |
---|---|---|
1 | 245 | @_@ 735 |
2 | 452 | -_- 1368 |
3 | 542 | -_- 1638 |
3.1.4 PTA提交列表及说明
3.2 PTA题目2
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
3.2.1 算法分析
定义一个整数型数据为i
定义最后结果为sum
定义flag,赋值为0
定义一个字符op,赋值为0
while 字符 != '=' do
输入一个字符op
if op=='=' then 退出循环
输入一个整数型数据i
if op=='+' then sum=sum+i
else if op=='-' then sum=sum-i
else if op=='*' then sum=sum*i
else if op=='/' then
if i!= 0 then sum=sum/i
else then flag=1
end if
else then flag=1
end if
if flag=1 then 输出 ERROR
else then 输出 sum
3.2.2 代码截图
3.2.3 测试数据
测试点 | 输入 | 输出 |
---|---|---|
1 | 1+2*10-10/2= | 10 |
2 | 1%6*54-2= | ERROR |
3.2.4 PTA提交列表及说明
3.3 PTA题目3
要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。
3.3.1 算法分析
定义一个字符为ch
定义high,i,x,j,k
输入%c %d",&ch,&high
x=(high+1)/2
for i=1 to x do
for j=1 to x-i do
输出 " "
end for
输出一个字符ch
for j=1 to 2*(i-1) then
输出" "
end for
if i!=1 then
输出字符ch
输出一个换行符ch
ch=ch+1
end for
ch--
k=i-2
for i=1 to x
ch=ch-1
for j=1 to i
输出 " "
end for
输出字符ch
for j=1 to 2*(k-1)
输出 " "
end for
if i!= x-1 then
输出字符ch
输出换行符
k--
end for
3.3.2 代码截图
3.3.3 测试数据
3.3.4 PTA提交列表及说明
4.代码互评
我的代码
同学的代码
4.1.1两者的不同
1.两种解法都是正确的,但是我们两个人分析问题的思路与方法是不同的。
2.初看感觉同学的代码更长,我的代码比较简短,我个人觉得我的代码的执行效率比较高一点。
3.同学的代码有很详细的注释,让人很容易理解,这是值得我学习的地方。