用c语言编写函数计算n的阶乘,并调用函数计算S=1+1 + 4!1+ 4!+7!1 + 4!+ 7!+ ..+ 19!
时间: 2023-11-17 12:01:10 浏览: 231
该代码是一个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语言编写函数求n的阶乘。主函数通过调用函数实现sum=1!+2!+3!+……n!(n由键盘输入)
以下是C语言编写函数求n的阶乘的代码,以及通过调用函数实现sum=1!+2!+3!+……n!(n由键盘输入)的代码:
```c
#include <stdio.h>
double fact(int x) {
double res = 1;
for (int i = 1; i <= x; i++) {
res *= i;
}
return res;
}
double fun(int n) {
double res = 0;
for (int i = 1; i <= n; i++) {
res += fact(i);
}
return res;
}
int main() {
int n;
scanf("%d", &n);
double sum = fun(n);
printf("%.0lf", sum);
return 0;
}
```
c语言计算N的阶乘,要求调用函数S=1+1/(1+4!)+1/(1+4!+7!)+…+1/(1+4!+7!+…+19)
以下是C语言计算N的阶乘并调用函数计算S的代码,其中包括计算阶乘的函数fac和计算S的函数sum:
```c
#include <stdio.h>
#include <stdlib.h>
int fac(int n) //阶乘函数
{
int i = 0;
int y = 1; //用来存返回值
if (0 == n || 1 == n) {
return 1;
} else {
for (i = 2; i <= n; i++) {
y *= i;
}
return y;
}
}
double sum(int n) //求和函数
{
int i = 0; //循环变量
double sum = 0; //和
int j = 1; //用来存储分母
for (i = 1; i <= n; i++) {
sum += 1.0 / j;
j += fac(3 * i + 1); //计算下一个分母
}
return sum;
}
int main()
{
int n = 0;
printf("请输入n:>");
scanf("%d", &n);
printf("S = %lf\n", sum(n));
system("pause");
return 0;
}
```
阅读全文