C语言编程题!急急!!!

编写一个通用过程(函数或子程序),该过程可实现计算某段整数区间内的奇数的倒数和。例若求[1,100]之间奇数的倒数和,即求1/1+1/3+1/5+…+1/99的和。编写主程序调用该过程实现求[200,1000]之间奇数的倒数的和,并在主程序输出,结果保留6位小数。

#include<stdio.h>
main()
{float daoshu(int a,int b);
int x,y;
printf("输入区间(整数):");
scanf("%d%d",&x,&y);
printf("奇数的倒数和为:%f\n",daoshu(x,y));
}

float daoshu(int a,int b)
{
float s=0,c=1.0;
int i;
if(a%2==0)
a=a+1;
if(b%2==0)
b=b-1;
for(i=a;i<=b;)
{
s=s+c/i;
i=i+2;
}
return s;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-11
#include <stdio.h>
float recipAdd(int min,int max);
int main()
{
printf("200到1000之间奇数的倒数和:%f\n",recipAdd(200,1000));
return 0;
}

float recipAdd(int min,int max)
{
float score=0;
for(int n=min;n<=max;n++)
if(n%2!=0) score+=1/float(n);
return score;
}本回答被网友采纳
第2个回答  2012-06-11
double sum(int x,int y)
{
double sum=0.0;
for(int i=x;i<=y;i++)
{
if(i%2==1)
sum=sum+pow((double)i,-1);
}
return sum;
}
相似回答