c语言编写函数,计算n!,int fun(int n) 在main函数中调用函数计算: S=1! +2! +3!+......+10!
时间: 2023-11-27 22:48:20 浏览: 54
以下是C语言编写函数,计算n!的代码和在main函数中调用函数计算S=1!+2!+3!+...+10!的代码:
```c
#include <stdio.h>
// 计算n的阶乘
int fun(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n = 10;
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += fun(i);
}
printf("S = %d\n", sum); // 输出:S = 4037913
return 0;
}
```
相关问题
用c语言编写函数计算n的阶乘,并调用函数计算S=1+1 + 4!1+ 4!+7!1 + 4!+ 7!+ ..+ 19!
该代码是一个C语言程序,其中定义了两个函数fun_a和fun_b,分别用于计算平方值和阶乘值。主函数中使用循环计算S=1+1 + 4!1+ 4!+7!1 + 4!+ 7!+ ..+ 19!。具体实现过程为:先调用fun_a函数计算出i的平方值,然后在fun_a函数中以平方值为实参,调用fun_b函数计算其阶乘值,将求得的值返回到fun_a函数,再返回到主函数,在循环程序中计算累加和。
下面是实现S的代码:
```
#include <stdio.h>
float fun_b(int n) /*定义fun_b( )函数*/
{
float y=1,i;
for(i=1;i<=n;i++) y*=i;
return y;
}
int main() /*定义主函数*/
{
float sum=0;
int i,j;
for(i=1,j=1;i<=19;i+=3,j++)
{
sum+=fun_b(i)*j;
if(i+3>19) break;
sum+=fun_b(i+3)*j;
}
printf("S=%f\n",sum);
return 0;
}
```
用C语言编写一个函数fun,求1!+2!+3!+…+n!的值(n>=1),在main函数中调用该函数并输出结果。
好的,下面是用C语言编写的函数fun,可以求1! 2! 3! … n!的值:
```c
#include <stdio.h>
int fun(int n) {
if (n == 1) {
return 1;
} else {
return n * fun(n - 1);
}
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
int result = 0;
for (int i = 1; i <= n; i++) {
result += fun(i);
}
printf("1! + 2! + 3! + ... + %d! = %d\n", n, result);
return 0;
}
```
函数fun采用递归的方式计算n的阶乘,而主函数中则利用for循环来求1! 2! 3! … n!的和,并输出结果。