一道C语言题目,求答案!谢谢!

有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20项之和。

#include <stdio.h>
int main(void)
{
int i;
double deno,nume,sum,temp;
deno = 2.0;
nume = 1.0;
sum = 0.0;
for(i=0;i<20;i++)
{
sum += deno/nume;
temp = deno;
deno += nume;
nume = temp;
}
printf("%lf",sum);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-18
以下代码可完成题设要求:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
int a,b,i;
double sum;
for(a=2,b=1,sum=i=0;i<20;i++,a+=b,b=a-b)
sum+=a/(b+0.0);
printf("The result is %g\n",sum);
return 0;
}
好奇怪啊!谁这么写了?好意思投诉?有勇气站出来说说理由啊,看来也只不过是“门背后的光棍”!
第2个回答  2008-11-06
#include "stdafx.h"
#include "stdio.h"

int main(int argc, char* argv[])
{
float sum=0,m=2.0,n=1.0,a;
int i;
for(i=1;i<=20;i++)
{
sum=sum+m/n;
a=m;
m=a+n;
n=a;
}
printf("%10f\n",sum);
return 0;
}
这个是在c++里的调试结果 希望对你有帮助!
第3个回答  2008-11-06
#include <stdio.h>
int main(void)
{
int i;
float sum =0;
float y = 1,x = 2;
for (i = 0;i < 20;i++)
{
sum += x/y;
x = x + y;
y = x - y;
}
printf(“%f",sum);
getchar();
return 0;
}
第4个回答  2008-11-06
分子,分母都是非波拉其数列
只不过初始元素不同
#include <stdio.h>
#include <stdlib.h>
#define N 20
double fenzi(int n);
double fenmu(int n);
/*主函数*/
int main()
{ int i;
double s=0;
for(i=1;i<=N;i++)
s+=(fenzi(i+1)/fenmu(i));
printf("和为:%f\n",s);
system("PAUSE");
return 0;
}
/*功能函数*/
double fenzi(int n)
{
if(n==1) return 1;
if(n==2) return 2;
else return fenzi(n-1)+fenzi(n-2);
}
double fenmu(int n)
{
if(n==1) return 1;
if(n==2) return 2;
else return fenmu(n-1)+fenmu(n-2);
}

其实只写一个就可以的 ,写 double f(int n);
r然后调用时 s+=(f(i+1)/f(i));

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网