设个自然数倒数的函数就行了。
/*下面的函数就是求自然数倒数的函数*/
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);
}
}
基本思路:
没上机调试,希望对LZ有帮助.
#include
void main()
{
long i,n; int sign=-1; float sum=0;
printf("input a number\n");
scanf("%ld",&n);
for(i=1;i<=n;i+=2;)
{sign=sign*(-1);
sum=sum+sign*1.0/i;}
printf("%f\n",sum);
}
int main(void)
{
int i,n,asign=1;
float sum=0;
clrscr();
do /*输入一个正奇数*/
{
printf("Input n:");
scanf("%d",&n);
}while(n%2==0||n<1);
for(i=1;i<=n;i=i+2)
{
sum=sum+asign*1/(i*1.0); /*问题的关键,将i转化为实型数*/
asign=-asign;
}
printf("sum=%f\n",sum);
getch();
return 0;
}
基本思路:
没上机调试,希望对LZ有帮助.
#include
void
main()
{
long
i,n;
int
sign=-1;
float
sum=0;
printf("input
a
number\n");
scanf("%ld",&n);
for(i=1;i<=n;i+=2;)
{sign=sign*(-1);
sum=sum+sign*1.0/i;}
printf("%f\n",sum);
}