一道C语言题目,求答案!谢谢!
有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20项之和。...
有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20项之和。
展开
5个回答
展开全部
以下代码可完成题设要求:
//#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;
}
好奇怪啊!谁这么写了?好意思投诉?有勇气站出来说说理由啊,看来也只不过是“门背后的光棍”!
//#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;
}
好奇怪啊!谁这么写了?好意思投诉?有勇气站出来说说理由啊,看来也只不过是“门背后的光棍”!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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++里的调试结果 希望对你有帮助!
#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++里的调试结果 希望对你有帮助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分子,分母都是非波拉其数列
只不过初始元素不同
#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));
只不过初始元素不同
#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));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询