C语言题:计算S=1-1/3+1/5-1/7+~~~~1/n的值并输出
1个回答
展开全部
设个自然数倒数的函数就行了。
/*下面的函数就是求自然数倒数的函数*/
double
daoshu(double
n)
{
double
z;
static
int
t=-1;
t=t*(-1);/*T的作用是使每隔一个数就变负*/
if(n>1)
z=(1/n)*t;
else
z=1/n;
return
z;
}
void
main()
{
double
n,i=0,s=0;
scanf("%lf",&n);/*此处要你输入n的值*/
if((n<1)||(int(n)%2==0))/*负数或偶数都是输入不正确*/
printf("error!!!\nendter
the
number
again.\n");
else
{
if(n==1)
s=daoshu(1);
else
for(i=1;i<=n;i=i+2)
s=s+daoshu(i);
printf("%lf",s);
}
}
/*下面的函数就是求自然数倒数的函数*/
double
daoshu(double
n)
{
double
z;
static
int
t=-1;
t=t*(-1);/*T的作用是使每隔一个数就变负*/
if(n>1)
z=(1/n)*t;
else
z=1/n;
return
z;
}
void
main()
{
double
n,i=0,s=0;
scanf("%lf",&n);/*此处要你输入n的值*/
if((n<1)||(int(n)%2==0))/*负数或偶数都是输入不正确*/
printf("error!!!\nendter
the
number
again.\n");
else
{
if(n==1)
s=daoshu(1);
else
for(i=1;i<=n;i=i+2)
s=s+daoshu(i);
printf("%lf",s);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询