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

1. 本章学习总结

1.1 思维导图

1474737-20181028095746169-381913660.png

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

1.2.1 学习体会

  • 通过两周的学习,我掌握了三种循环语句:for语句,while语句以及do while语句,三种语句各有特色,能适应不同的题目。
  • 在循环结构的学习构成中,pta上题目的难度也在慢慢加大,特别是循环的镶嵌结构,每一个条件都要认真安放,如果没认真或者思路不清晰,很容易造成错误且很难调试出来。
  • 在做题过程中,感觉自己慢慢在进步,在刚开始一遇到问题就向舍友求助到现在可以自己慢慢找出错误。

    1.2.2 代码累计

    1474737-20181028100043748-518855135.png

2. PTA总分

2.1 截图PTA中循环结构2次题目集的排名得分

1474737-20181027223401214-1747549194.png
1474737-20181027223408611-1681542624.png

2.2 我的总分:

循环(单层):175
循环(嵌套):115
总分:290

3. PTA实验作业

3.1 PTA题目1

1474737-20181027224545871-242145699.png

3.1.1 算法分析

定义变量num单词的字母数,flag第几个单词;
while(1) 做一次外循环
while(1) 做一次内循环
输入字符变量op
当输入的字符变量为' '或'.'时退出内循环,并使num++
if(num>0)
{
flag++
if(flag==1)输出num
else 输出空格+num
}
当输入为'.'退出外循环

3.1.2 代码截图

1474737-20181027224555515-2138192347.png

3.1.3 测试数据

1474737-20181027224603298-1418528280.png
1474737-20181027224614397-693516177.png
1474737-20181027224623265-996750604.png

3.1.4 PTA提交列表及说明

1474737-20181027225455128-1888910848.png
1.开始的几次提交,没有考虑到输入多个空格如何处理,只是单个空格的输入。
2.后来改进了代码,可以实现了多个空格的输入,但是输出的最后一个单词长度后面出现了空格。就使用了一个变量来标记这是第几个单词。

3.2 PTA题目2

1474737-20181027224753057-34217150.png

3.2.1 算法分析

定义变量h为菱形的高度,mid为菱形的中间层的行数,ch为输入的字符
for i=1 to h do
for j=1 to abs(mid-i) do 输出空格
定义变量num用来实现在第几个空格后输入字母
if(i>mid)num=2mid-i
else num=i
for k=1 to 2
mid-1 do
if(k==1||k==2*num-1)输出字母
else 输出空格
end for

3.2.2 代码截图

1474737-20181027224804897-1994939434.png

3.2.3 测试数据

1474737-20181027224816068-892362416.png
1474737-20181027224823775-1461980197.png

3.2.4 PTA提交列表及说明

1474737-20181027225657120-1817832870.png
由于这道题老师在课堂讲过,并加上自己的理解,没用几次的就把这道题打出来。

3.3 PTA题目3

1474737-20181027225053668-1505336469.png

3.3.1 算法分析

定义变量i为输入数字的位数,定义变量N2储存N用来求位数,定义变量num2该数的数位对应最小数,例如699对应的为100
if(N<0) 输出"fu "并将N赋值成它的相反数
用do while语句求位数
for i=i to 0
开始一位一位取数
if(i>1)输出空格
end for

3.3.2 代码截图

1474737-20181027225101572-1577058098.png
1474737-20181028103324340-2060841071.png

3.3.3 测试数据

1474737-20181027225113266-1561536440.png
1474737-20181027225121629-356012468.png
1474737-20181027225128716-1304280371.png

3.3.4 PTA提交列表及说明

1474737-20181027225819134-1101945818.png
1.在取位数的时候,直接将N拿来取,导致后N为0;输出的都是ling.
2.在输出空格时,没有处理好最后一个数字后面的空格,导致出现格式错误,后来使用了一次if语句,但是判断的条件的条件出错,导致还是格式错误。

4. 代码互评

4.1 代码截图

我的
1474737-20181028150708370-28656150.png
同学的
1474737-20181028150959405-1705210216.png1474737-20181028152011004-636124825.png
调皮一下

赛尔号型代码

4.2 两者的不同

该同学flag和count变量来判定情况 需要注意的点很多 不过思路清晰,脑回路神奇,而我用了两个while(1)来进行判定且用上单词的数目判断是否使字母来,容易被外循环与内循环的重新清零绕晕,不过简洁。

转载于:https://www.cnblogs.com/ls1272397716/p/9861496.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值