用c语言编写函数计算n的阶乘,并调用函数计算S=1+1 + 4!1+ 4!+7!1 + 4!+ 7!+ ..+ 19!
时间: 2023-11-17 07:01:10 浏览: 175
该代码是一个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语言用函数定义和调用计算s = 1!+2!+3!+…+n!的源程序,书写阶乘函数
以下是C语言用函数定义和调用计算s = 1!+2!+3!+…+n!的源程序,以及阶乘函数的代码:
```c
#include <stdio.h>
// 阶乘函数
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
// 计算1!+2!+3!+...+n!的函数
int sumOfFactorials(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i); }
return sum;
}
// 主函数
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("1!+2!+3!+...+%d! = %d\n", n, sumOfFactorials(n));
return 0;
}
```
在上面的代码中,`factorial`函数用于计算阶乘,`sumOfFactorials`函数用于计算1!+2!+3!+...+n!,`main`函数用于读取用户输入的n并输出结果。
用C语言编写函数,计算s=5!+7!+10!
以下是用C语言编写的函数,计算s=5!+7!+10!:
```c
#include <stdio.h>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int s = factorial(5) + factorial(7) + factorial(10);
printf("s = %d\n", s);
return 0;
}
```
首先定义了一个计算阶乘的函数 `factorial`,然后在 `main` 函数中调用该函数计算出 5!、7! 和 10!,并将它们相加得到结果 s。最后用 `printf` 函数输出结果。