C语言博客作业--嵌套循环

一、PTA实验作业

题目1:打印九九口诀表

1. 本题PTA提交列表

1232126-20171103163238716-878651664.png

2. 设计思路

  • 第一步:定义三个整型变量N,i,j
  • 第二步:输入正整数N
  • 第三步:判断i=j是否成立,如果成立执行第四步,否则执行第五步
  • 第四步:按格式输出j,i,i*j,并换行
  • 第五步:按格式输出j,i,i*j
  • 第六步:重复第三步,直到j<=i
  • 第七步:重复第六步,直到i<=N

3.本题调试过程碰到问题及解决办法

1232126-20171103224446216-1053962948.png
刚开始没有看清楚题目要求,题目要求等号右边数字占4位、左对齐,而我却写成了每个式子第一个数占4位,导致不能左对齐;发现问题后,仔细阅读题目,改成等号右边数字占4位。
1232126-20171103225515091-1949074385.png
这次怎么都发现不了问题出现在哪里,问了一下舍友,发现因为我代码步骤打的有点分散,步骤太多,导致每行最后一个式子等号右边数字没有占4位,虽然看起来没什么不同,但就是错了

题目2:梅森数

1. 本题PTA提交列表

1232126-20171104193115107-1659987468.png

2. 设计思路

  • 第一步:定义整型变量n,i,j,number,count;
  • 第二步:输入n
  • 第三步:初始化count
  • 第四步:number=pow(2,i)-1;
  • 第五步:判断number%j==0,如果成立,执行第六步,否则执行第七步
  • 第六步:count++
  • 第七步:重复第五步,直到j<number
  • 第八步:判断number!=1&&count==0,如果成立,执行第九步,否则执行第十步
  • 第九步:输出number
  • 第十步:重复第三步,直到i<=n
  • 第十一步:判断number==1,如果成立,执行第十二步
  • 第十二步:输出None

3.本题调试过程碰到问题及解决办法

提交到pta上时提示“最小n,输出为空集 答案错误”,于是对代码编译运行后输入1,发现如下图的情况
1232126-20171104201111982-450426188.png
于是我就去浏览了下代码,发现我忘了写这一段代码,就改了一下,提交后发现又是和上面一样的错误提示
1232126-20171104202929763-467539534.png
调试后发现当输入1时,程序还是进入了count2++这个语句,仔细分析后发现if语句后没有大括号,加了大括号就正确了;后来发现只有当n=1时,才完全没有,所以简化了一下代码

题目3:歌唱比赛评分系统

1. 本题PTA提交列表

1232126-20171104204007920-1229526818.png

2. 设计思路

  • 第一步:定义整型变量repeat,n,score,i,j,sum,max,min;
  • 第二步:输入次数repeat
  • 第三步:输入n和score
  • 第四步:max=score;min=score;sum=score;
  • 第五步:输入成绩score
  • 第六步:sum=sum+score;
  • 第七步:判断max<score,如果成立,执行第八步,否则执行第九步
  • 第八步:max=score;
  • 第九步:判断min>score,如果成立,执行第十步,否则执行第十一步
  • 第十步:min=score;
  • 第十一步:重复第五步,直到i<=n-1
  • 第十二步:计算(sum-max-min)/(n-2)的值,按格式输出score
  • 第十三步:重复第三步,直到j<=repeat

3.本题调试过程碰到问题及解决办法

提交到pta上时显示答案错误,于是把题目上的输入样例输进去,得到如下图所示的结果,发现与题目所给的输出样例不同,因为我忘了在答案之前加“score:”
1232126-20171105191915857-106093410.png
修改完之后,我又提交了一遍,发现又错了,这次显示为格式错误,这次输出结果为下图所示
1232126-20171105195311451-443632755.png
并没有发现什么错误,后来我又尽力去看到底哪里格式错了,我甚至还把输入样例里提到的括号都一起输了进去,结果还是格式错误,调试也找不出问题,于是就去找舍友讨论一下这个问题,发现输入数据时会出现如下图的问题,结果会和下一组的输入数据挤在一起,所以需要在每一次输出结果后换行
1232126-20171105200531935-698551008.png

二、同学代码结对互评

1.互评同学名称

周炳辉

2.我的代码、互评同学代码截图

1232126-20171105224214529-1173620690.png
1232126-20171105224006560-1544973095.png

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

我的代码使用count进行计数,利用count的值来判断是哪一种情况;周炳辉的代码利用continue和break语句来控制循环的进行,实现程序要求;两种风格各有各的优势;相对来说,我更喜欢我自己的代码风格,我比较喜欢用count来计数,个人感觉这么做比较清晰。

三、截图本周题目集的PTA最后排名

PTA排名

1232126-20171105223735654-1225734785.png

四、本周学习总结

1.你学会了什么?

本周我学会了嵌套循环的使用,嵌套循环的使用比较之前的单层循环难了一些,在运用时必须清楚它的逻辑顺序,分清内外层循环,否则很容易乱掉;在运用嵌套循环时还要特别注意初始化语句的位置,一旦放错位置就会导致错误,这是我们这种初学者容易犯的错误。

2.本周的内容,你还不会什么?

对于本周的内容基本上都学会了,就是嵌套循环运用的还不够熟练,有时候就会不知道该如何运用,或者写着写着就乱了;所以我还需要不断的去练习一些嵌套循环的题目来提升熟练度。

转载于:https://www.cnblogs.com/yanweijie666/p/7788715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值