我是靠谱客的博主 纯真煎饼,最近开发中收集的这篇文章主要介绍第2次作业-----循环与嵌套循环1.本章学习总结2.PTA总分3.PTA实验作业4.代码互评,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.本章学习总结

1.1 思维导图

1475740-20181028015507624-371353630.png

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

1.2.1 学习体会

循环题比之前顺序分支结构更难些,需要花的时间也更多。有的时候,一个题目就可以花上几个小时去调试,比如龟兔赛跑,打印空心菱形这些稍微更复杂的情况。老师讲解过的题,当时懂了,过后还是会忘记,必须自己马上动手实验一下,才是属于自己的知识。所以,学习编程就是个*多练习多领悟*的过程,练熟手了,就自然会了。

1.2.2 代码累计

1475740-20181028020323551-2107561669.png

2.PTA总分

1475740-20181028155845703-301905742.png
1475740-20181028155919587-2089058680.png

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

2.2 我的总分:

循环题共290分

3.PTA实验作业

3.1 PTA题目1

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。

3.1.1 算法分析

定义变量number放输入的数,mask做累乘看统计number位数减一
输入数number
if number<0,输出fu ,并将number转变成正数end if
将number的值赋给t
当number>9,即为两位数时,number/=10,mask*=10,统计number位数减一的结果
do
    n=t/mask;//将number第一位的值赋给n
    t%=mask;//将t对mask取余,得到剩下的数字
    switch(n),对应相应的数字0-9,并输出其拼音
    如果mask>0,说明还有数字未输出,此时输入空格
while mask>0时继续循环
end do while

3.1.2 代码截图

1475740-20181027231703734-835648831.png
1475740-20181027231722820-1895489117.png

3.1.3 测试数据

1475740-20181028002746367-143452563.png

3.1.4 PTA提交列表及说明

1475740-20181027232310621-507100219.png

Q: 数字为个位时格式错误,其余答案错误
A: 没有考虑到输入的数字为 个位时,前后都不带空格。所以在一开始判断number是负数时,输出fu后面应该带一个空格,然后在每一次循环输出相应拼音后进行判断一下,如果mask>0,说明还有数字没输出,此时输出空格,否则,不输出空格。

3.2 PTA题目2

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

3.2.1 算法分析

定义j,k分别表示第j行,第k个位置
定义n,ch表示有n行,初始字母
定义mid表示中间那行
for j从1 to n,j自增
     定义num
     如果j>num,num=n+1-j,转换成相信对称的行数
     否则,num=j
      如果num是第一或第n行
               for x从1到mid,x自增
               如果x==mid,输出字母,其余输出空格
               end for
     end if
     否则
     for k从1到mid+num-1,k自增
            如果k==mid-num+1或k==mid+num-1
             输出字母,表示为ch+num-1
             否则,输出空格
             end if
     输出换行符
     end for

3.2.2 代码

1475740-20181028131324186-137846165.png
1475740-20181028131329511-846133687.png

3.2.3 测试数据

1475740-20181028131359122-1514275761.png

3.2.4 PTA提交列表及说明

1475740-20181028131433589-1935638172.png
1475740-20181028134249578-547859064.png

Q:输出的菱形第一行和最后一行多了一个空格和一个字符
A:将输出字母的判断循环条件改为k从1到mid,条件改为等于mid时输出字母,其余输出空格

3.3 PTA题目3

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

3.3.1 算法分析

定义s1,s2分别表示兔子和乌龟走的距离
定义T表示输入的时间
定义flag表示兔子是睡觉还是奔跑,,开始初始为0j,k表示睡觉,循环经历的时间
for t从1到T
    如果flag==1,则兔子睡觉,乌龟奔跑,到k累加到30的时候让flag==0
    否则兔子和乌龟都在跑
          如果跑了10分钟,兔子超过乌龟,那么让flag=1,k=0,回到if循环,兔子睡觉30分钟
end for
如果s1>s2,输出^_^ s1
如果s1=s2,输出-_- s1
如果s1<s2,输出@_@ s2

3.3.2 代码

1475740-20181028125359990-1828748256.png
1475740-20181028122546266-526651158.png

3.3.3 测试数据

1475740-20181028124505372-1833243045.png

3.3.4 PTA提交列表及说明

1475740-20181028124631177-595370554.png

Q1:输入242,输出的是-_- 726
A1:在判断两者跑的距离时,忘记两个数相等要用两个=表示
Q2:在一开始做的时候思路不太清晰
A2:通过老师讲解和学习同学代码,知道可以找规律,缩减代码做题

4.代码互评

4.1 代码截图

同学代码截图
1475740-20181028181820328-1225490905.jpg

自己的代码截图
1475740-20181028174332364-2118341341.png

4.2 二者的不同

  • 1两种代码都能算出结果,且代码量差不多
  • 2同学的代码用的数组做,先记录输入的字符,然后遍历从最后一个字符算,依次i递减到第一个字符,做的是pow(2,i)的累加
  • 3我的代码用的是读入一个字符就做一次运算,如果读入的为2就sum2+1,读入的为0就sum2,最后累乘得到的sum就是要求的十进制数

转载于:https://www.cnblogs.com/zhonghaiqing/p/9860850.html

最后

以上就是纯真煎饼为你收集整理的第2次作业-----循环与嵌套循环1.本章学习总结2.PTA总分3.PTA实验作业4.代码互评的全部内容,希望文章能够帮你解决第2次作业-----循环与嵌套循环1.本章学习总结2.PTA总分3.PTA实验作业4.代码互评所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部