编写一个接受整数作为输入并返回其阶乘的函数。接着,请构建一个完整的程序,该程序应从用户那里接收一个整数输入并通过scanf,然后分别计算并输出该整数的阶乘以及两个数学表达式的结果:y=e^(x)和y=sin(x),请确保所有步骤都清晰明确。
时间: 2024-12-20 07:16:14 浏览: 14
为了编写一个接受整数并返回其阶乘的函数,我们可以使用递归的方式。首先定义一个名为`factorial`的函数,它接受一个整数`n`作为参数,并返回`n`的阶乘。对于0和1,阶乘分别是1;其他正整数的阶乘等于该数乘以其前一数的阶乘。
```c
#include <stdio.h>
#include <math.h>
// 阶乘函数
long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int num;
// 接收用户输入
printf("请输入一个整数:");
scanf("%d", &num);
// 计算阶乘
long long factorial_result = factorial(num);
printf("输入数字 %d 的阶乘是:%lld\n", num, factorial_result);
// 指定数学表达式的值
double x = num; // 我们假设x是输入数值
double e_x = exp(x); // y = e^x
double sin_x = sin(x); // y = sin(x)
printf("当 x = %.0f 时,e^x 的结果是:%.2lf\n", x, e_x);
printf("当 x = %.0f 时,sin(x) 的结果是:%.4lf\n", x, sin_x);
return 0;
}
```
在这个程序中,我们首先导入了`stdio.h`用于标准输入输出,以及`math.h`库来访问指数和正弦函数。在`main`函数中,我们获取用户输入的整数,计算它的阶乘,然后应用给定的数学公式计算`e^x`和`sin(x)`。最后,我们打印出所有的结果。
阅读全文