C博客第02次作业循环结构

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分

  1. 实验作业

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.同学的代码有很详细的注释,让人很容易理解,这是值得我学习的地方。

原文地址:https://www.cnblogs.com/2084624983yue/p/9864854.html