- 算法训练营:海量图解+竞赛刷题(入门篇)
- 陈小玉
- 632字
- 2025-02-18 00:18:17
1.6 如何轻松写一个函数
函数是对实现某一功能的代码的模块化封装,其定义如下:

1. 标准函数
训练1-22:输入n对整数a和b,输出它们的和。
如果前面有函数原型声明,则可以将函数定义放在被调用函数之后。

2. 无返回值函数
如果没有返回值,则返回值类型为void。
训练1-23:输入n,输出1~n的所有整数(无返回值)。

3. 无参数函数
训练1-24:输入n,如果n为10的倍数,则输出3个“very good!”。

4. 传值参数函数
传值参数在函数内部的改变出了函数后无效。
训练1-25:输入两个整数a和b,交换后输出。


5. 引用参数函数
引用参数在参数前加“&”符号,引用参数在函数内部的改变出了函数后仍然有效。
训练1-26:输入两个整数a和b,交换后输出。

6. 数组参数函数
训练1-27:输入n个整数并将其存入a[]数组,求和后输出和值。

7. 字符串参数函数
训练1-28:输入n个字母,如果是小写字母,则将其转换为大写字母,输出转换后的字符串。

8. 函数嵌套
训练1-29:输入两个整数a和b,求这两个整数的最大公约数和最小公倍数。

9. 函数重载
函数重载(多态)指有多个同名函数,但是每个同名函数的参数数量、类型、顺序不同。
训练1-30:写一个函数,对于字符串类型的数据,取其长度的一半;对于浮点数类型的数据,取其值的二分之一。


10. 函数模板
训练1-31:输入两个数a和b(整数或者浮点数),求这两个数的和值。

练习:
(1)输入10个学生的程序设计成绩,将其存储在数组中,写3个函数,分别输入、显示和计算平均成绩。
(2)一直输入两个数,直到其中一个为0,对每两个数都求它们的调和平均数。调和平均数=2×x×y/(x+y)。