zoukankan      html  css  js  c++  java
  • C博客作业03--函数

    0.展示PTA总分

    1.本章学习总结

    1.1 学习内容总结

    • 函数分为自定义函数和库函数,自定义函数调用时需先声明,而库函数可直接调用如printf()
    • 函数声明包括函数类型,函数名和形式参数表和分号,如double cylinder(double r,double h);
    • 函数首部不包含分号,且每个形参前都要加上函数类型
    • 自定义函数中函数声明中的变量称为形参,而主函数中的变量称为实参
    • 实参可以是常量,变量和表达式,而形参只能是变量
    • 在不返回结果的函数中,可以用void类型的函数,如输出数字金字塔
    • 当需要使函数多结果返回时,需要定义全局变量,如复数的运算中需要返回实部和虚部的值
    • 静态局部变量可以保存上一次函数调用时变量的值,因此可以用来计算阶乘问题,如求10!
    • 当全局变量与局部变量同名时,局部变量起作用,当局部变量与复合语句中的局部变量同名时,后者起作用

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

    1.2.1 学习体会

    1.函数的调用可以使程序看起来更有条理,也能更方便的解决一些问题,例如阶乘问题和复数的运算,但函数的自定义比较困难,自己往往不知道该怎么自定义函数,这方面还要练习
    2.函数内容学习的较快,做函数题时有些困难

    1.2.2 代码累计

    230行代码

    2.综合作业

    题目:小学生口算表达式自动生成系统

    2.本次作业的函数关系图

    3.函数功能及全局变量介绍

    3.1.全局变量

    全局变量:studentAnswer,在自定义函数中学生输入答案,而在主函数中判断答案是否正确
    choice1:记录用户输入的年级
    count记录用户的答对题目数量

    3.2.ListMenu(studentGrade, questionNumber)函数

    生成可供学生选择的菜单

    3.3 show_computerAnswer_and_get_input(studentGrade, sum)

    获得计算机生成的答案和用户输入的答案,sum传递给i作为题号



    4.运行结果截图,测试用例。

    一年级:

    二年级:
    三年级:

    5. 调试碰到问题及解决办法

    1.问题:每次生成的式子都相同。解决办法:用# include<time.h>和srand(time(NULL))使每次生成的数字不同
    2.问题:运算符随机生成。解决办法:定义sign()%4四个数字分别对应4种运算符
    3.问题:运算符不能用变量直接放在式子,计算机无法计算。解决办法:让sign=rand()%4直接对应四种运算,用reslut储存正确答案
    4.问题:用户输入答案后,怎么跟正确答案比较。解决办法:定义全局变量studentAnswer
    5.问题:对于2,3年级的题目,乘除法与加法要求的数字的大小不同。解决办法:判断sign是否为进入乘除法的值,再判断数字大小有无乘除法的要求,有的话重新生成数字

    6.大作业总结

    • 本次大作业没有达到全部要求,但生成式子和判断对错都有体现
    • 函数运用过少,且在使用时不是很熟悉
    • 全局变量的使用可以使主函数的变量减少,但不能过多使用
    • 出现循环输出菜单时,可以再定义一个变量来控制是否输出菜单
  • 相关阅读:
    迭代器,生成器,列表推倒式
    内置函数
    递归与二分算法
    装饰器
    函数进阶
    函数
    MLP神经网络 隐含层节点数的设置】如何设置神经网络隐藏层 的神经元个数
    用CNN及MLP等方法识别minist数据集
    ubuntu 安装Pangolin 过程
    ubuntu16.04 + Kdevelop + ROS开发和创建catkin_ws工作空间
  • 原文地址:https://www.cnblogs.com/sym2446/p/11695087.html
Copyright © 2011-2022 走看看