编写函数fun其功能:根据整型形参m计算如下公式的值:y=1⼀2!+1⼀4!+…+1⼀m!

2024-11-30 05:01:21
推荐回答(5个)
回答1:

【具体示例】

int factor(int n)//首先定义求阶乘函数

{int result;if(n==0||n==1)result=1;else result=n*factor(n-1);return result;//返结}

int fun(int m)

{float sum;for(i=2;i<=m;i+=2)//每都加2{sum=sum+1.0/factor(i);}return sum;}

扩展资料

C/C++ 语言标准库中没有fun函数。fun函数是自定义函数,是使用来举例或作语法演示的,需要在使用前自行定义声明。

fun一词没什么特别含义,也可以换成别的名称,如"abc"或者"baidubaike"。它只表示引用之前出现的函数,以调用它执行一些需求,int fun(int x,int y)只是一个举例的函数名而已,以及其声明的参数类型。

参考资料来源:百度百科:fun函数

回答2:

#include 
double fun(int m){
int i,k=1;
double s=0;
for(i=1;i<=m/2;i++)
{
k*=(i*2-1)*i*2;
s+=1.0/k;
}
return s;
}
void main(){
int m;
scanf("%d",&m);
if(m%2||m<2)
printf("Input error!");
else
printf("y=%lf",fun(m));
}

回答3:

按照你y的公式,m必须是偶数吧?我就按照这个思路来写了

double fun(int m)
{
    if(m%2 != 0)
    { 
        printf("m不是偶数,错误!\n"); 
        return 0;
    }
    
    double sum = 0, temp = 1.0;
    for(int i = 1; i <= m; ++i)
    {
        temp *= i;
        if(i%2 == 0)
            sum += (1.0/temp);
    }
    return sum;
}

回答4:

大部分答案都是错的 我这个我验证了很多次了 肯定是对的
#include
double fun(int m)
{
double i,a,s,j;
s=1;
a=0;
for(i=2;i<=m;i+=2)
{s=1;
for(j=1;j<=i;j++)
s*=(1/j);
}
a+=s;
return a;
}
main()
{
int n;
printf("Enter n: ");
scanf("%d", &n);
printf("\nThe result is %lf\n", fun(n));
}

回答5:

帮你实现了一下,自己没测试,应该没什么大问题,思路很清晰的

【具体示例】
int factor(int n)//首先定义了一个求阶乘的函数
{
int result;
if(n==0||n==1)
result=1;
else
result=n*factor(n-1);
return result;//返回结果
}
int fun(int m)
{
float sum;
for(i=2;i<=m;i+=2)//每次都加2
{
sum=sum+1.0/factor(i);
}
return sum;
}

希望可以帮你o(∩_∩)o