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

一、PTA实验作业

7-4 换硬币

1. 本题PTA提交列表


2. 设计思路

  • (1)定义整型变量fivenum表示5分的个数,twonum表示2分的个数,onenum表示1分的个数,total表示总数量,count表示换法个数,x表示零钱数
  • (2)对count赋初值,输入零钱数额x
  • (3)采用三重循环,最外层循环为fivenum,次外层循环为twonum,内层循环为onenum,条件都为大于1,且按5分、2分和1分硬币的数量依次从大到小的顺序排列,每次循环都递减1
  • (4)若满足5fivenum+2twonum+1*onenum==x,则计算此时的总数量total,并使换法个数加一,按例子样式输出
  • (5)三重循环结束后,输出换法个数count

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

  • 1.

    没有对count赋初值导致最后输出结果错误。
  • 2.
    虽然和题目的例子一样,但和题目的按5分、2分和1分硬币的数量依次从大到小的顺序排列的要求不一致。通过递减就完成了从大到小的顺序排列。

7-5 梅森数

1. 本题PTA提交列表

2. 设计思路

  • (1)定义整型变量n,number表示得出的数,i,j为循环次数,count
  • (2)对count赋初值为0,输入n
  • (3)计算number,进入内层循环,如果number能被j整除,则跳出循环。否则如果j>number/且number!=1,输出梅森数且使count加一
  • (4)重复步骤3,直到i小于等于n
  • (5)如果count==0输出None

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




第一张图是错误代码,第二张图是错误地方,第三张图是正确代码,不同之处在于第一张图的count在能整除后面,最后判断条件是countn;第三张图的count在不能整除后面,判断条件是count0

7-7 歌唱比赛评分系统

1. 本题PTA提交列表


2. 设计思路

  • (1)定义整型变量repeat做运算,n为评委人数,sum为累加成绩,max为最大值,min为最小值,定义浮点型变量score
  • (2)输入repeat次运算
  • (3)输入评委人数,并使sum为0,min为100,max为0
  • (4)输入成绩,使sum累加成绩,如果grade大于max,使max为grade;如果grade小于min,使min为grade
  • (5)计算score=1.0*(sum-max-min)/(n-2)
  • (6)按样式输出

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


没有把题目读清楚,题目要求是“输入一个正整数repeat (0<repeat<10),做repeat次下列运算:”所以评委人数n也是不确定数,所以把scanf("%d",&n);放在循环外边就导致出错。

二、同学代码结对互评

1.互评同学名称

  • 黄光奎

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

  • 我的代码
  • 同学的代码

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

  • 他的count++位于是素数条件的之外,而我的位于条件之内,其次他最后的判断条件是countn-1,我的是count0。
    他的i从2开始,导致最后的判断条件是count==n-1,因为count初始值为0,当输出n为1时,不进入循环,直接输出None
  • 我的代码套路很一般,而黄同学的思路很新颖独特。希望以后自己的代码可以更加简洁明了。

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

四、本周学习总结

1.你学会了什么?

  • 1.学习到函数是C语言的基本组成单元,对于C语言来说非常重要。
  • 2.学习了函数的三部曲,函数的定义,函数的调用,函数的声明。
  • 3.学会了形参和主参之间的关系,即参数传递
  • 4.学会了不返回结果的函数void()
  • 5.局部变量和全局变量的使用和优缺点以及作用范围

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

  • 1.对于使用函数还不熟练,不能很好的使用函数解决问题
  • 2.变量生存周期和静态局部变量的定义还理解的不够透彻
  • 3.对于PTA的嵌套循环题目比如菱形,就没有思路,不知道字符型数据+1也可以。
posted @ 2017-11-11 22:52  yawlc  阅读(290)  评论(3编辑  收藏  举报