C语言第三次作业--嵌套循环
一、PTA实验作业
题目1:硬币数
1. 本题PTA提交列表



2. 设计思路
- 步骤一:定义整型变量fen5,fen2,fen1,表示1分2分和5分,零钱数额x,总硬币数total,换法count
- 步骤二:变量初始化count=0,输入零钱数额x
- 步骤三:先计算5分的最多个数,再计算2分个数,最后计算1分个数
- 步骤四:如果满足fen55+fen22+fen1*1==x,则依次输出5分,2分一分的个数以及total的值(total=fen5+fen2+fen1),count加一
- 步骤五:重复步骤三
步骤六:输出count的值
3. 本题调试过程碰到问题及解决办法



运行后count的值太大,调试了一下发现下一步确实有加上1,只是最开始数值不对,然后我就意识到是自己没有将count赋初值,改正了过来。运行与题目给出的答案一致,但是PTA就是显示部分正确,然后自己测试了其他的数值,发现输入的数值大了之后5分就没有从小到大排列,于是我就把循环的递加改成了递减,终于改对了。

题目2:梅森数
1. 本题PTA提交列表

2. 设计思路
- 步骤一:定义整型变量n,i,m,j,n为幂指数,m用于存放pow(2,i)-1的值,i,j为循环变量
- 步骤二:输入n
- 步骤三:如果n=1,直接输出None,
- 步骤四:如果n>=2,令i=1,计算m=pow(2,i)-1,并执行步骤5
- 步骤五:令j=2,如果m%j==0,则停止步骤5,如果,否则j++;直到j>sqrt(m)停止循环步骤5.i加一
步骤六:重复步骤4,直到i>n
3. 本题调试过程碰到问题及解决办法


第二个循环原本我用的是j<=i,如上图,后来答案就直接63了

然后我就调试了一下,发现如果是j<=i,那么第二次循环最开始就只能做一次,后来我就翻书又仔细看了前面的章节里关于素数的判断部分,然后改正了回来
然后提交提示部分正确,没有考虑为空集的情况,后来想了一下空集就是没有素数,只有1的时候就是没有一个素数,于是加进一个n==1的判断条件就正确了。题目3:歌唱比赛评分系统
1. 本题PTA提交列表



2. 设计思路
- 步骤一:定义整型变量repeat为评分系统的重复次数,i,j为循环变量,grade为每个评委打出的成绩,max用于存放一组成绩中的最大值,min用于存放一组成绩中的最小值,定义浮点型变量score存放选手的最终成绩
- 步骤二:输入repeat的值
- 步骤三:令i=1,输入n的值,赋初值sum=0,输入第一个成绩grade,将第一个成绩赋值给max,min和sum
- 步骤四:j=1,再输入一个grade,sum=sum+grade,如果grade
- 步骤五:重复步骤四,直到j=n
- 步骤六:计算score=(sum-min-max)*1.0/(n-2);输出score的值,并保留两位小数,i++;
步骤七:重复步骤三,直到i>repeat
3. 本题调试过程碰到问题及解决办法

最开始做题是时候觉得很乱,不知道要怎么同时判断最大值和最小值,一直修改,改到跟输入例题答案一样了,很开心,但还是错误的。然后其实我对题目还是很懵。
后来想到可以分别判断最大值和最小值,答案正确了之后还是提交部分正确,再然后调试了一下文艺出错,想到前面题目没有赋初值,就加入了sum=0,但是最开始是放在定义那里的,不对,后来跟同学一起讨论,终于把sum=0放在了第一个循环里,就对了。二、同学代码结对互评
1. 互评同学名称:梁才玉
2..我的代码、互评同学代码截图
- 梁才玉的截图

我的截图

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
- 不同:才玉的代码先进行循环,再循环里判断n=1的情况,我的是先把n=1的情况分出来,再进行循环
- 各自优势:才玉的代码直接进入循环,让思维直接进入了判断是否为素数的代码里,然后在循环里判断n=1的情况也比较清楚。
我的代码先判断n=1,再在n>=2的情况判断梅森数的个数 我个人比较喜欢我自己的代码风格,因为这样就不用在循环里再嵌一个判断条件,个人觉得更加清楚一些,不会乱。
三、本周题目集的PTA最后排名

四、本周学习总结(1分)
1.你学会了什么?
- 懂得了变量初始化的重要性,学会了变量初始化的应用,有一些题,比如说求阶乘相加的题,如果没有变量初始化就会使得结果相差很大,例如本次作业的第7第8题,都要在正确的地方将一些值赋值为0,这些通过调试也就很好发现,错了这么多次变量初始化,深刻得记住了!
- 上周博客内容里不会的调试问题这周也会了,觉得使用调试会比较快得发现自己问题在哪儿,错在哪里,更加省时间。
- 学会了如何嵌套,先找到第一个循环(范围较大,限制第二个循环的循环次数),再找到第二个循环,然后一定要找准循环结束的条件!
学会了耐心认真对待编程。说实话我最开始写编程耐心不够,这一次那个空心菱形的题我是最后才做的,结果一直在那里写写了3个小时,因为是中午吃完饭就开始写,所以中途好几次都想去睡觉,最后还是坚持下来了,虽然写三个小时时间很长,但是写完还是很开心的,我感觉自己有了进步。
2.本周的内容,你还不会什么?
虽然对题意的理解上好了一些,但是仍然感觉自己再理解题目这方面还是比较吃力的,那个换硬币的题目我最开始是以为从大到小输出就是先5分再2分再1分就可以的了,理解题意真的真的真的很重要,我希望我能够一点点改善这个问题。其他的都还好,好几题都提交了好多遍,总共的提交列表都有两大页,错误我都记住了,总的来说还是感觉认真耐心得完成作业收获真的很大。
C语言第三次作业--嵌套循环的更多相关文章
- C语言第三次作业总结
本次作业的亮点 总体情况 大部分同学基本掌握了单层循环结构的写法,懂得了代码调试的过程 PTA通过率及作业质量都不错,希望再接再厉 推荐博客 黄毓颖 推荐理由:代码思路清晰,格式良好:调试过程相当形象 ...
- C语言第三次作业---单层循环结构
一.PTA实验作业 题目一.最佳情侣身高差 1.实验代码 int N;//存放输入的人数 char sex; double hight1,hight2;//分别存放输入的身高和输出的身高 scanf( ...
- C语言第四次作业--嵌套循环
一.PTA实验作业 题目1:打印九九口诀表 1.本题PTA提交列表 2.设计思路 (1)定义三个整形变量n,j,i,n表示任意给定的正整数. (2)输入一个正整数n. (3)令i=1,i<=n, ...
- C语言 第三次作业--函数
1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 学习C语言也半个学期了,前天也才刚刚进行了半期考试,emmm,成绩很差,可以反应出来我这半学期学习的效果并不 ...
- C语言第三周作业---单层循环
一.PTA实验作业 题目1 1.实验代码 int N = 0,i; char sex; float a[9], height; scanf("%d\n", &N); for ...
- C语言--第三周作业
一.PTA作业中4个题目 1.7-9 A乘以B 要求:输入的两个整数:A是你学号前两位数字,B是你学号后两位数字 a.代码 #include <stdio.h> int main () { ...
- C语言——第三次作业
题目1.A乘以B 1.实验代码 #include <stdio.h> int main() { int A,B,C; scanf("%d %d",&A,& ...
- c语言第三次作业。
---恢复内容开始--- (一)改错题 计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 源代码 : 第一次编译: 错误原因:if 后面有分号 改正方法:去掉分号 ...
- C语言——第三次作业(2)
作业要求一 PTA作业的提交列表 第一次作业 第二次作业 一道编程题: 有一个axb的数组,该数组里面顺序存放了从1到a*b的数字.其中a是你大学号的前三位数字,b是你大学号的后四位数字,比如你的学号 ...
随机推荐
- MFC,ADO方式实现数据库操作
参考: MSDN数据访问编程 (MFC/ATL): https://msdn.microsoft.com/zh-cn/library/kd4ck1tt.aspx?f=255&MSPPError ...
- GridView 翻页 索引超出范围
事件回顾 今天GridView翻页时,又遇到错误:索引超出范围.必须为非负值并小于集合大小. 这是当时的PageIndexChanging和RowCommand两个事件的后台代码 protected ...
- Python基础__Python语法基础、条件、循环
之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环.本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的Python语法规则 1.语句 ...
- JVM介绍&自动内存管理机制
1.介绍JVM(Java Virtual Machine,Java虚拟机) JVM是Java Virtual Machine的缩写,通常成为java虚拟机,作为Java可以进行一次编写,到处执行(Wr ...
- 第二篇:数据可视化 - 基本API
前言 数据可视化是数据挖掘非常重要的一个环节,它不单在查阅了解数据环节使用到,在整个数据挖掘的流程中都会使用到. 因为数据可视化不单可以形象地展示数据,让你对数据有更好的总体上的了解,而且还可以让你清 ...
- HUD-1999-不可摸数
参考博客https://www.cnblogs.com/dongsheng/archive/2012/08/18/2645594.html Problem Description s(n)是正整数n的 ...
- 网页中输出HTML代码
>>>>>> mustache.js的解决方案 var entityMap = { '&': '&', '<': '<', '>' ...
- Hive数据仓库笔记(三)
Joins: Inner joins: hive> SELECT * FROM sales; Joe 2 Hank 4 Ali 0 Eve 3 Hank 2 hive> SELECT * ...
- Java 小记 — Spring Boot 注解
前言 本篇随笔将对 Spring Boot 中的常用注解做一个简单的整理归档,写作顺序将从启动类开始并逐步向内外扩展,目的即为了分享也为了方便自己日后的回顾与查阅. 1. Application 启动 ...
- python爬微信公众号前10篇历史文章(5)-JSON相关内容小结
json - JSON encoder and decoder JSON: JavaScript object notation,是一种轻量级的数据交换格式.JSON 是 JS 对象的字符串表示法,它 ...