C语言函数定义:根据形参 n,函数 factorial 计算并返回 n! 的值 n! = 1×2×3×…×n 函数调用:调用函数 factorial,完成指定要求
时间: 2025-01-04 22:41:27 浏览: 7
在C语言中,你可以通过以下步骤定义一个名为`factorial`的函数,该函数接受一个整数`n`作为输入参数,并计算并返回其阶乘:
```c
#include <stdio.h>
// 函数声明
int factorial(int n);
// 函数实现
int factorial(int n) {
int result = 1; // 初始化结果为1
for (int i = 1; i <= n; i++) {
result *= i; // 按照阶乘公式逐次相乘
}
return result; // 返回最终的结果
}
// 主程序入口点
int main() {
int num;
printf("请输入一个非负整数: ");
scanf("%d", &num);
if (num >= 0) {
int fact = factorial(num);
printf("The factorial of %d is: %d\n", num, fact);
} else {
printf("错误: 输入必须是非负整数!\n");
}
return 0;
}
```
在这个例子中,我们首先定义了一个函数`factorial`,它接收一个整数参数`n`,然后通过循环从1乘到`n`,得到阶乘的值。主程序部分则负责获取用户输入并调用`factorial`函数。
相关问题
c语言编写程序,程序功能如下:函数fun的功能是根据形参m,计算公式 T=1/1!+1/2!+ 1/3!+…+1/m!的值
#include <stdio.h>
double fun(int m) { // 定义函数fun,返回类型为double型,形参为整型m
double T = 1.0; // 定义变量T并初始化为1.0
int i, j, factorial; // 定义变量i、j、factorial,均为整型
for (i = 1; i <= m; i++) { // 循环计算公式中的每一项
factorial = 1; // 初始化factorial为1
for (j = 1; j <= i; j++) { // 计算i的阶乘
factorial *= j;
}
T *= 1.0 / factorial; // 计算公式中的每一项,并将其累乘到T中
}
return T; // 返回计算结果
}
int main() {
int m;
printf("请输入m的值:");
scanf("%d", &m); // 输入m的值
printf("T的值为:%f\n", fun(m)); // 调用函数fun,并输出计算结果
return 0;
}
阅读全文