一、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语言第三次作业--嵌套循环的更多相关文章

  1. C语言第三次作业总结

    本次作业的亮点 总体情况 大部分同学基本掌握了单层循环结构的写法,懂得了代码调试的过程 PTA通过率及作业质量都不错,希望再接再厉 推荐博客 黄毓颖 推荐理由:代码思路清晰,格式良好:调试过程相当形象 ...

  2. C语言第三次作业---单层循环结构

    一.PTA实验作业 题目一.最佳情侣身高差 1.实验代码 int N;//存放输入的人数 char sex; double hight1,hight2;//分别存放输入的身高和输出的身高 scanf( ...

  3. C语言第四次作业--嵌套循环

    一.PTA实验作业 题目1:打印九九口诀表 1.本题PTA提交列表 2.设计思路 (1)定义三个整形变量n,j,i,n表示任意给定的正整数. (2)输入一个正整数n. (3)令i=1,i<=n, ...

  4. C语言 第三次作业--函数

    1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 学习C语言也半个学期了,前天也才刚刚进行了半期考试,emmm,成绩很差,可以反应出来我这半学期学习的效果并不 ...

  5. C语言第三周作业---单层循环

    一.PTA实验作业 题目1 1.实验代码 int N = 0,i; char sex; float a[9], height; scanf("%d\n", &N); for ...

  6. C语言--第三周作业

    一.PTA作业中4个题目 1.7-9 A乘以B 要求:输入的两个整数:A是你学号前两位数字,B是你学号后两位数字 a.代码 #include <stdio.h> int main () { ...

  7. C语言——第三次作业

    题目1.A乘以B 1.实验代码 #include <stdio.h> int main() { int A,B,C; scanf("%d %d",&A,& ...

  8. c语言第三次作业。

    ---恢复内容开始--- (一)改错题 计算f(x)的值:输入实数x,计算并输出下列分段函数f(x)的值,输出时保留1位小数. 源代码 : 第一次编译: 错误原因:if 后面有分号 改正方法:去掉分号 ...

  9. C语言——第三次作业(2)

    作业要求一 PTA作业的提交列表 第一次作业 第二次作业 一道编程题: 有一个axb的数组,该数组里面顺序存放了从1到a*b的数字.其中a是你大学号的前三位数字,b是你大学号的后四位数字,比如你的学号 ...

随机推荐

  1. .Net Core下 Redis的String Hash List Set和Sorted Set的例子

    1.新建一个.Net Core控制台应用程序,用Nuget导入驱动 打开程序包管理控制台, 执行以下代码. PM> Install-Package ServiceStack.Redis 即可添加 ...

  2. Java序列化机制和原理及自己的理解

    Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.Java序列化API提供一 ...

  3. 书籍--嵌入式C语言

    1,C语言嵌入式编程修炼 [C/C++]C语言嵌入式编程修炼·背景篇·软件架构篇·内存操作篇

  4. HALCON学习-下载、安装

    下载地址: 官网 HALCON学习网 安装: 直接安装文件halcon-12.0-windows-x86.exe 破解,汉化: 在HALCON学习网中有Licence文件“license_suppor ...

  5. js 几种排序方法

    1.冒泡排序 var arr = [9, 7, 5, 3, 1]; for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j &l ...

  6. 【HDU1711】Number Sequence

    题面 大致题意: 给定两个数列A,B,长度分别为N和M 求出 满足 Ak=B1 ,Ak+1=B2......Ak+M-1=Bm 的最小k值 如果有多个k值输出最小的一个 题解 KMP裸题 直接计算B数 ...

  7. [BZOJ4198] [Noi2015] 荷马史诗 (贪心)

    Description 追逐影子的人,自己就是影子. ——荷马   Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读她爱不释手的<荷马史诗>.但是 ...

  8. hibernate 反向生成 实体类

    1,配置数据库连接 步骤. 点击    windows   -> open perspective  - >   myeclipse datebase  Exprorer 打开了dateb ...

  9. 用CSS画出好玩的图形

    1.上三角 #triangle-up { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px so ...

  10. Asp.Net MVC 文件管理Demo(文件展示,上传,下载,压缩,文件重命名等)

    之前 ,有想做一个文件管理页面. 参考了 许多资料,终于完成了一个基于Asp.net MVC 的文件管理Demo.界面如下.   一,实现功能及相关技术 文件管理Demo基于Asp.NET MVC , ...