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.大作业总结

    • 本次大作业没有达到全部要求,但生成式子和判断对错都有体现
    • 函数运用过少,且在使用时不是很熟悉
    • 全局变量的使用可以使主函数的变量减少,但不能过多使用
    • 出现循环输出菜单时,可以再定义一个变量来控制是否输出菜单
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 数字黑洞
    Minifilter微过滤框架:框架介绍以及驱动层和应用层的通讯
  • 原文地址:https://www.cnblogs.com/sym2446/p/11695087.html
Copyright © 2011-2022 走看看