zoukankan      html  css  js  c++  java
  • C语言作业03函数

    1.本章学习总结

    1.1 思维导图

    1.2本章学习体会,代码量学习体会

    1.2.1学习体会

    通过这几周的函数学习,让我明白了函数的重要性,在很多时候运用函数,会使得代码分工明确,逻辑严密,不繁琐。函数的使用有很多的细节,比如变量的定义,当变量的使用范围局限函数内部时,或者形参的改变不能够影响实参时,用局部变量。当这个变量考虑到不同函数之间的交流时,或者多个函数共同使用一个变量,就必须使用全局变量。需要函数在使用后依旧保持原来的值,使用静态局部变量。还明白了void无返回值的函数的使用。以及多个定义函数,且函数之间有联系的代码是如何联系的。总之,函数的世界多彩多样,只有一步一步去思考,认真的写好题目,才有可能琢磨的透函数。在接下来的学习中,要保持住代码量,再写函数的题目的时候,要特别注意参数之间的关系,否则会一头雾水。写代码的时候要从主函数入手,而不是定义函数入手。我觉得这段时间自己比较好的地方是,完成pta的速度有提高,很多题目难度虽然不大,但是细节很多,我能灵活发现几处错误。希望自己在接下来的学习中,保持住这种细心的态度!

    1.2.2代码累计

    2.PTA总分

    2.1

    2.2我的总分:

    总分 :145

    3.PTA实验作业

    3.1题目介绍

    3.1.1算法分析

    Fib (int n) 函数:
    定义:开头2项x=1,y=1;循环值I;和返回值t;

    • for i=1 to n
      • if I<=2 then t=1//开头2项都为1
      • else t=x+y x=y y=t//从第3项开始后一项等于前2项和
    • end for
    • return t//返回t值

    PrintFN (int m, int n)函数:
    定义循环值i;第一项x=1,第二项y=1;返回值t;count统计个数以及辅助输出

    • for i=1 to
    • if I<=2 then t=1//开头2项都为1
      • else t=x+y x=y y=t//从第3项开始后一项等于前2项和
    • if t>n then break //如果某项的值大于了最大界,跳出循环
    • if t>=m then count++//某项在规定的范围内,计数统计个数
      • if count==1 then printf("%d")//当输出第一个数的时候
        -else printf(" %d")//
    • end for
      -if count==0 then printf("No Fibonacci number")

    3.1.2代码截图

    3.1.3测试数据

    3.1.4PTA提交列表和说明

    Q1:没有注意第一第二项的输出情况。
    A1:加入if判断,如果i为1,2:返回的t值为1. i>大于2的情况下才进行前2项累加。

    4.大作业

    题目:实现小学四则运算

    4.1函数关系图

    4.2函数功能介绍

    1.函数1


    功能:输出简单算术器的大标题。看上去更美观!

    2.函数2

    功能:第一级是1位数的一步加减乘除计算
    思路:1.输入题目数量。用for循环执行题目量,
    2.然后产生2个一位数的随机数,用rand()%9+1的方法避免了0.
    并且用rand()%4+1的方法产生随机运算符号。
    3.用switch语句随机运算
    4.if语句判断答案是否正确
    5.提问是否退出(用户输入)
    6.当循环结束,计算正确率。

    2.函数3


    功能:第二级是2位数的2步加减计算
    思路:1.输入题目数量。用for循环执行题目量,
    2.用rand()然后产生3个2位数的随机数,
    并且判断输出的随机数是否为一位,如果是一位数,加上10,转化为2位。
    并且用rand()%4+1的方法产生随机4种情况:
    ++ /+- /-+ /--
    3.用switch语句随机运算
    4.if语句判断答案是否正确
    5.提问是否退出(用户输入)
    6.当循环结束,计算正确率。

    2.函数4


    功能:第三级是3位数的2步加减计算
    思路:1.输入题目数量。用for循环执行题目量,
    2.用rand()然后产生3个3位数的随机数,
    并且判断输出的随机数是否为100以下,如果是小于100的数字,加上100,转化为3位。
    并且用rand()%4+1的方法产生随机4种情况
    ++ /+- /-+ /--

    3.用switch语句随机运算4种情况
    4.if语句判断答案是否正确
    5.提问是否退出(用户输入)
    6.当循环结束,计算正确率。

    4.3运行结果截图

    一级:

    二级:

    三级:

    4.4调试碰见的问题解决办法

    Q1:当用户输入不合法数据,系统无法运行
    A1:用if语句判断,如果输入不属于合法的数据,提醒重新输入。重新读入一个相同变量的数据。

    Q2:输出2位数,3位数,会随机产生一位数。
    A2:用if判断,如果产生的随机数为一位数,就自动加10和100,转化为2位数,和3位数的随机数。

    Q3:除法中产生分母为0的数
    A3:用rand()%9+1的方法直接把随机0去除,这样所有数据不产生0.

    4.5大作业总结

    这次的大作业,是学习c语言以来编写代码最大的一次程序,让我感受到了c语言的强大,自己动手设计的一个简单软件。这次大作业,让我感受到了编写程序的流程,应该要有框架,首先把一个程序分为很多个部分,比如我的代码有4个大部分,每一个部分的功能不一样,然后在分功能的去逐一编写代码。一个一个函数,一个一个部分完成了在接下来下一部分,只有这样才能保证效率,完成所有的部分后,在合起来拼成一个大程序,去完善其中的漏洞,不如输入不符合要求的数字,以及除法为0的情况,还有产生的随机数不满足位数等等。在这些小漏洞完成后,可以适当扩展,比如时间函数等。总之,编写软件需要耐心,而且需要是不是的检测,完善自己的代码。这次的大作业,让我明白了一个软件的实行的最基本流程,希望在下次的作业中能够更熟悉的运用。

  • 相关阅读:
    JQUERY 滚动 scroll事件老忘记 标记下
    js获取iframe里的body内容
    win8.1企业版 IIS8.5 安装php5.5.18详细图文
    JS 根据特定URL获取ID数组
    wampserver 2.5安装pear win8.1
    webstorm 文件历史找回~ 恢复正确状态~
    深入浅出数据库索引原理(转)
    Winform自定义表单(转)
    用 ASP.NET MVC 实现基于 XMLHttpRequest long polling(长轮询) 的 Comet(转)
    面对海量请求,缓存设计还应该考虑哪些问题?(转)
  • 原文地址:https://www.cnblogs.com/zhouqb/p/9941213.html
Copyright © 2011-2022 走看看