重生之我在黑盒学编程10——原来程序还可以这样写

上期我们学完了简单的string相关知识,这期我们学习用户自定义函数

1. 用户自定义函数一般形式

2. 函数声明

3. 实参与形参

用户自定义函数的一般形式:

求值类型 函数名(参数){

    代码实现部分

}

函数声明:

如果要将用户自定义函数写在主函数后面,则需要加函数声明 一般形式:求值类型 函数名(参数);

将用户自定义函数写在主函数后面的时候,需要借助函数声明解决问题。 函数声明的一般形式:求值类型 函数名(参数表);

注意: 1. 语句末尾的分号一定不能忘记

2. 参数表部分只写数据类型即可

实际参数与形式参数

实参:调用函数时需要传递的参数

形参:定义用户自定义函数时函数名后面的参数

用户自定义函数的参数 当我们需要提供给用户自定义函数一些信息以便于进行处理和计算时,可以通过 参数传递的形式解决问题。对于参数需要注意以下两点:

1. 需要传递给用户自定义函数的信息才会放在参数中

2. 实参与形参在个数、顺序、类型上需要保持一致,避免出现问题

下面我们来看题目

要求使用用户自定义函数完成

题解:

代码解释:

用户自定义函数 

函数声明long long factorial(int n)定义了一个名为factorial的函数,它接收一个整数参数n,返回一个long long类型的结果。

变量初始化long long result = 1;初始化结果为1,因为0!和1!都等于1。

循环计算for循环从1到n,每次将当前数字乘以累积结果。

返回结果:循环结束后返回计算得到的阶乘值。

主函数

输入std::cin >> n;从标准输入读取用户输入的整数n。

计算并输出std::cout << factorial(n) << std::endl;调用factorial函数计算阶乘并输出结果。

程序结束return 0;表示程序正常结束。

关键点说明

  1. 数据类型选择:使用long long存储结果是因为阶乘增长极快,20!已经是一个很大的数(2432902008176640000)。

  2. 循环逻辑:从1乘到n,逐步累积结果,这是计算阶乘的标准方法。

  3. 边界处理:虽然题目保证1≤n≤20,但此代码也能正确处理n=0的情况(0!=1)。

这个程序简洁高效地解决了计算阶乘的问题,符合题目要求。

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com