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

0.展示PTA总分

本章学习总结

学习内容总结

函数包括自定义函数和库函数,函数定义的一般形式为:

函数类型   函数名(形参)
{
        函数实现过程
  }

形参表示为:类型名 形参1,......类型名 形参n
2.
在一般情况下,我们都需要将函数写在结尾,开头弄个函数声明,中间调用函数
在函数传递过程中,实参与形参需一一对应,数量应相同,顺序一致,类型尽量相同
提示:第一行声明须有分号,定义没有
3.
函数可以有不返回结果的函数,定义中须加上void,可以不写return语句,由于它没有结果,所以不可能出现在表达式中,一般出现以单独的语句出现
4.
结构化思想的设计:
3.1将每一个功能包装成一个函数,便于修改,完善
3.2对变量函数命名时须知名见意
3.3在程序中须增加必要的注释,以便增加可读性
3.4程序中须有输入输出等友好性提示
5.
局部变量:一般定义在函数内部开头,只作用于函数内部,可以保证各函数的独立性
全局变量:定义在主函数外,作用于主函数内所有位置,当某函数内的局部变量与全局变量重复时,全局变量失效,由局部变量起作用;优点是可以解决函数多返回结果的问题,也用于多函数的全局变量中,缺点:容易引起各函数相互混乱,不易控制
静态变量:一般作用于以一个函数,调用函数时调用的是上一个结束的值;静态变量没赋初值时,系统自动赋为0,赋初值只在第一次调用时起作用;定义形式:static 类型 变量名;

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

学习体会

在本章过程中,感觉到了用函数的方便性,让每次阅读代码时都有更好的体验;更体验到了函数命名不规范的致命性,完全很难看懂;在以后的代码路中,我会多用函数去写,命名我也会查字典来命名规范,注释友好,为以后工作学习打下坚实基础

代码累计

本次综和作业代码量:549行

2.综合作业:小学生口算表达式自动生成系统

2.1本次作业函数关系图

2.2函数功能及全局变量介绍

2.2.1全局变量及作用

全局变量i;
防止在函数内多次定义i,将i的值直接传进去

2.2.2void MenuFunction();函数

功能:菜单函数,展示系统界面

2.2.3int TowMenuFunction(int x);函数

功能:二级菜单,让用户输入选择

2.2.4void OneDigitFunction();函数

功能:一或两位数加减函数;思路:根据输入 i 的值来判断是一位还是两位加减法,从而实现年级的不同难度

2.2.5void EncourageFunction();函数

功能:通过随机产生不同的数,输出不同的鼓励语句

2.2.6void EvenAddTheReduction();函数

功能:生成随机数的百以内的连加连减;思路:随机生成加号或减号,再随机生成三个数,输出答案;

2.2.7void MethodResidual();函数

功能:一位数的乘除法;思路:随机生成0或1来决定是乘法还是除法,进而来随机生成数进行运算,除法多加了余数上去,使运算更加完善;

2.2.8void MoreHundred();函数

功能:三位数的加减法(包括整百的加减法);思路:根据每次随机的数来决定是哪种加减法,进而随机数进行运算

2.2.9void NumberMultiplication();函数

功能:一位乘多位的函数(顶多只能乘到3位);思路:随机生成一位数和一个两位数,进行乘法运算;

2.2.10void HybridOperation()函数

功能:十以内的三则加减乘除混合运算;思路:随机产生三位数,在随机产生两个运算符号,输入答案,进入另一个函数判断答案是否正确

2.2.11int Sumumber(int a, char op1, int b, char op2, int c)函数

功能:计算上一个函数随机产生的数的结果;思路:一层一层判断符号,然后得出结果

运行结果截图,测试用例

两位数减整十数

整十数减整十数

100以内三个数连加连减混合运算

1-9乘除法

有余数的除法

整百数加减法(和超过一千的,退位的)

三位数加法

一位乘多位

三个数混合运算

调试遇到的问题及解决办法

1.当我想要用数组去运算三个数的混合运算时,我用j=rand();b=a[j];时,结果显示运行不了
解决:数组没办法我就只能一个一个分支的判断了;
2.如果输入非法数据时,结果就会跳到其他地方
解决:我想了想,如果给每个地方都加上非法的判断的话,代码量增加了很多,所以我就偷了偷懒,只给它一个不能非法输入的提示
3.还有一个困难就是三个数的混合运算时,如何得出正确的结果让我头疼了一下
解决:本来想用以前课堂派上的那个四则运算,发现不适用,就用分支判断符号来计算

大作业总结

这个过程我觉得是要光头的,过程中总是翻来覆去的想如何将功能尽量写进函数里去,绞尽脑汁,最后终于完成了一份不太完美的作业,还是比较高兴的,终于写完了一整个程序。最后我觉得写程序时还是要打打草稿,想想思路,不然太容易乱套了

posted @ 2019-11-03 19:20  湛遥  阅读(243)  评论(0编辑  收藏  举报
/* 点击爆炸效果*/
/* 鼠标点击求赞文字特效 */ /*鼠标跟随效果*/