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项之和。
#include <stdio.h>main(){double i=2,k=1,n,s=0,m;for(n=1;n<=20;n++){s+=i/k;i=m;k=n;i+=k;k=m;}printf("原式=%f",s);}

请问哪里错了????

//首先你得m没有赋值
/*double i=2,k=1,n,s=0,m;
for(n=1;n<=20;n++)
{s+=i/k;
i=m;//没赋值*/
#include  <stdio.h>
void main()
{
double i=2,k=1,n,s=0,m;
for(n=1;n<=20;n++)
{
printf("%f /  %f =%f\n",i,k,i/k);//验证是否是这些数字相除
s+=i/k;///强制类型转换
s=i;
i=i+k;
k=s;

}
printf("原式=%f",s);
}

追问

=口=,还是不对啊、、

追答

 

#include  <stdio.h>
void main()
{
double i=2,k=1,n,s=0,m;
for(n=1;n<=20;n++)
{
printf("%f /  %f =%f\n",i,k,i/k);//验证是否是这些数字相除
s+=i/k;//
m=i;//没看到你用s做累加的了。
i=i+k;
k=m;

}
printf("原式=%f",s);
}

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-08
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(){
double s=0;
int i=2,k=1,n,m;
for(n=1;n<=20;n++){
s+=(i+0.0)/k;
m=i+k;
k=i;
i=m;
}
printf("原式=%f\n",s);
}追问

谢谢!

相关了解……

你可能感兴趣的内容

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