功能:编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1/2!+1/4!+.....+1/m!(m是偶数)。
#include"stdio.h"
double fun(int m)
{
我不会写的部分!求解答
}
main()
{
int n;
printf("Enter n:");
scanf("%d",&n);
printf("\nThe result is %lf\n",fun(n));
}
double fun(int m){
int i;double s=0.00;
if(m%2==0){
for(i=2;i<=m;i=i+2){
s=s+1.00/i;
}
return s;
}
else
return 0.000;
}
大四最后一次补考飘过~
double fun(unsigned int m)
{
unsigned int i,j;
double result = 0;
unsigned int fact = 0;
if (m%2 !=0)
{
return 0;
}
for (i=2; i<=m; i+=2)
{
fact = 1;
for (j=2; j<=i; j++)
{
fact *=j;
}
result += 1.0/fact;
}
return result;
}
#include
long digui(int i)
{
long l;
if(i == 1)
{
return 1;
}
else
{
l = i*digui(i-1);
}
return l;
}
double fun(int m)
{
int j;
double k=0.00,sum=0.00;
for(j=2;j<=m;j=j+2)
{
k = 1.00/digui(j);
sum = k+sum;
}
return sum;
}
int main()
{
int n;
printf("Enter n:");
scanf("%d",&n);
printf("\nThe result is %lf\n",fun(n));
}
能给一下m的范围吗?
double fun(int n) {
double sum=0,temp=1;
for(int i=2;i<=n;i+=2) {
for(int j=i-1;j<=i;j++)
temp*=j;
sum+=1/temp;
}
return sum;
}
#include
double fun(int m){
double sum = 0;
int i, t, st = 1;
for (t = m; t >= 2; t = t - 2) {
st = 1;
for (i = 2; i <= t; i++) {
st = st * i;
}
sum += 1.0 / st;
}
return sum;
}
int main(){
int n;
scanf("%d", &n);
printf("%.3lf\n",fun(n));
}
没有验证,欢迎路人点评:
懒得再敲一遍代码了