C语言博客作业03--函数

0.展示PTA总分.


1.本章学习总结.

1.1 学习内容总结


  • 1.函数的学习包括对 函数的定义 函数的调用

  • 2.函数结果的返回:
    举例定义一个判断奇偶数的函数


  • 3.局部变量.
    局部变量的有效使用范围为限定在所在的函数内,局部变量一般定义在函数的复合句的开始处,标准C规定其不能定义在中间位置。
    举例:

    1. 全局变量
      全局变量的作用范围是从定义开始到程序所在的文件的结束.,全局变量可以帮助解决函数多结果返回的问题,但是局部变量更多地用于多函数间的全局数据表示.
      举例:

  • 5.静态变量
    静态变量赋初值只在函数第一次调用时起作用,若没有赋初值,系统将自动赋值0.
    举例:

  • 6.数字金字塔
    用调用函数的方法打出金字塔


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

1.2.1 学习体会

从这章函数的学习来看,对函数的定义,函数的调用,都有了很好的理解,之前有几节课没有认真听讲,才发现没有听老师的脚步,自己是很难补起来的;函数这一章的运用特别的广,所以需要更加认真的去理解
函数的用法,还有要多写写代码才是关键,只有多写代码才能更多地发现错误,老师的课上的互动以及课堂派的预习要求一定要认真的完成,才能高效率的挺好每一节课,然后课下再从老师给出的题目中去好好
琢磨代码,多加练习,才能更进一步。


1.2.2 代码累计


2.综合作业

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


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


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


2.1.全局变量


void ListMenu(void); //菜单函数的声明
void Choice(void); //选项的函数声明
void Grade(int choice); //年级的函数声明
int correct = 0; //用于统计答对的题数
int wrong = 0; //用于统计答错的题数
void Over(void); //结束游戏的函数声明
void Grade1(void); //选择一年级的函数声明
void Grade2(void); //选择二年级的函数声明
void Grade3(void); //选择三年级的函数声明
void Back(void); //返回菜单的函数声明
void Tip(double response, double answer);//对给出答案进行判断的函数声明
double OneStep(int num1, int num2, int op1); //生成一步四则运算的题目
int TwoSteps(int num1, int num2, int num3, int op); //生成两步加减运算的题目


2.2.ListMenu()函数

此函数则是用来显示界面的,即是刚开始时的提示,也用来在后面进行重新刷新时候可以调用此函数,显示菜单


2.3 Grade(int choice)函数

此函数用来用户选择的年级的选择,以至于进入到相对应的年级算法


2.4 Grade1(void)函数

这个函数就是一年级的函数,所以这个函数就是对应的一年级的算法


2.5Tip(double response, double answer)函数

此函数用来计算对和错的题目,以至于后面可以用来计算正确率.


2.6Grade1(void)一年级函数


2.7Grade2(void)二年级函数


2.8Grade3(void)三年级函数


2.9Back(void)返回函数


2.0void Over(void)结束函数


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


一年级的算法:

这个一年级的是一位数的加减乘除运算,看到了运行的程序,是正确的,而且最后的正确率的计算也是正确。


二年级的算法:

这个二年级的算法我测试了一下,不管怎么弄正确率都是;就算答对了也是一样的,所以我不知道错在哪里。这是两位数的运算


三年级的算法:

三年级的是三位数的运算,遇到的问题和二年级的一样


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


  • 1.在运行过程中,正确率有时候在结束回答的时候没有显示出来,后来将正确率函数再次调用
  • 2.设置答题时间的问题,但是经过一段时间,也是没有想出来
  • 3.有时候出题目的时候,会出不来,直接就跳出结束游戏,而且有时候还会连续打出两个题目.后来用VS一步步调试就出来了.
  • 4.还有关于三年级的算法,我只做了加减法,其他的不会写,而且测试答案也是错的,还没有发现解决办法.

5.大作业总结


花了时间去制作思维导图,但是真的开始写大作业的时候,还是有些手足无措,后来发现思维构建好,就能很好的运用.
大作业给我的最深刻的启示就是——千万不要想太多,先把基础的框架写出再做修改。否则只会想想想想越想越乱。另外比较重要的一点是,尝试不同的数据。刚开始写完,程序经常出问题,在这个方面,以后要多加思考。总的来讲,实现了实用性的功能,希望再接再厉,多拓展功能。
这个大作业也让我发现了自己的很多不足,也要提醒自己时刻要跟着节奏,在此后在好好参考同学的博客,再好好写这个算法程序.


原文地址:https://www.cnblogs.com/w-y-h--/p/11787602.html