zoukankan      html  css  js  c++  java
  • C语言博客作业--嵌套循环

    一、PTA实验作业

    题目1:换硬币

    1. 本题PTA提交列表

    2. 设计思路(此处用流程图最好)

    1.定义六个整型变量count,x,fen5,fen2,fen1,total,其中count用来存放换硬币方法的次数,fen5、fen2、fen1分别表示五分、两分、一分硬币的数量,total表示硬币的总数量。
    2.输入零钱金额x
    3.fen5=20,当fen5>=1时,重复步骤4到10
    4..fen2=50,当fen2>=1时,重复步骤5到10
    5.fen1=100,当fen1>=1时,重复步骤6 到10
    6.total=fen5+fen2+fen1
    7.如果5fen5+2fen2+fen1=x,count++
    8.输出fen5,fen2,fen1,total
    9.fen5--
    10.fen2--
    11.fen1--
    12.输出count

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

    开始的时候将代码写成了这样,发现在输入13时,是正确的,但换一组数据时,就不是按题意要求的那样输出了

    后来我发现用fen++顺序容易错乱,就试着换用fen--,但是还是显示错误,后来发现是给fen附错了初值,没有意识到x是表示角,,因为x是小于等于100的数,后来直接给fen5=20,fen2=50,fen1=100,利用fen--,从最大值开始循环,就可以了

    题目2:打印九九口诀表

    1. 本题PTA提交列表

    2. 设计思路(此处用流程图最好)

    1.定义三个整型变量 N,i,j;其中N表示输入的正整数,i,j分别表示行和列
    2.输入正整数N
    3.i=1,j=1,输出ij=ij
    4.i++
    5.j++
    6.输出ij=ij
    7.如果i<=N,j<=i,重复步骤四到步骤七
    8.结束算法

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

    代码正确,但在输出时是没有任何间隔

    意识到空格问题后,想到老师上课说的%md,m表示占得格子数,于是改成了%4d,但好像问题比之前的还要严重

    后来上了一下百度,才明白是要向左对齐的话,需要改成%-4d

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

    1. 本题PTA提交列表

    2. 设计思路(此处用流程图最好)

    1.定义整型变量n,repeat,grade,min,max,i,j,sum;其中repeat存放操作次数,grade评委打分,min存放最小值,max存放最大值,sum存放得分总和;定义浮点型变量 score用来存放最后得分
    2.输入操作次数repeat
    3.j=1.如果j<=repeat,输入n,重复步骤三到步骤九
    4.sum=0;min=100;max=0
    5.i=1,如果i<=n,输入grade,重复步骤五到步骤九
    6.如果grade>max,则令max=grade;如果grade<min,则令min=grade
    7.sum=sum+grade
    8.j++
    9.i++
    10.score=(sum-min-max)/(n-2)
    11.输出score

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

    在Dev上可以,而在pta上提交后显示答案错误


    后来发现是没有将sum,min,max的赋值放到大循环里,且在最后输出的时候忘了换行

    二、同学代码结对互评

    互评同学:戴洁

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

    戴洁的代码

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

    1.戴洁的代码调用了函数,而我是直接用for循环语句的嵌套;
    2.戴洁的代码调用函数可以考虑更复杂的情况,而我的代码比较简单,易懂吧,但是对于这道题来说,结构比较简单,我个人认为没有必要调用函数 吧
    3.相对来说,我觉得我们两的代码都有各自的优点吧,但是对于函数编程这方面的东西还要她学习

    三、本周学习总结

    1.你学会了什么?

    1. 学会区分形参和实参,还有函数的定义,函数调用,函数声明
      2.函数首部后面不能加分号,它和函数体一起构成完整的函数定义
      3.return语句的作用有两个:一是结束函数的运行,二是带着运算的结果返回主函数
      4.在不返回结果的函数中,void不能省略;否则,函数类型被默认定义为int
      5.在for循环语句中,可以用++,也可以用--,++是从最小值开始,--是从最大值开始
      6.%md表示占m个空格,且向左对齐;%-md,表示占m个空格,且向右对齐
      7.字母的递增用ch+1
      8.对于像打印空心菱形、数字金字塔的题,需要一行行的去分析,从中判断它们满足什么样的数学关系式,再去写程序

    2.你还不会什么

    1.函数的使用不是很清楚,有时候读不懂函数的程序
    2.for循环用的还不是很得心应手,
    3.现在写程序虽然说没有像以前那样完全找不到思路去写,但是在看到题目的时候,还是要思考很久才能想到要怎么写
    4.还有有时形参和实参的参数传递不是很理解

    本周pta最后排名

  • 相关阅读:
    批量转外部样式为行内样式
    AngularJS 笔记2
    windows特殊文件或文件夹
    zepto 入门
    js闭包
    AngularJS 笔记1
    sublime配置 sublimecondeintel 分号后不要提示
    sublime插件开发手记
    用flvplayer.swf在网页中播放视频(网页中flash视频播放的实现)
    无插件启动谷歌浏览器
  • 原文地址:https://www.cnblogs.com/2223ch/p/7801094.html
Copyright © 2011-2022 走看看