1个回答
展开全部
#include <stdio.h>
#include <math.h>
int main()
{
int N,i=0;
float ai,bi;
float aj,bj;
float a,b;
float sum;
scanf("%d",&N);
ai=1,bi=2; //第1项分母分子
aj=2,bj=3; //第2项分母分子
sum=(bi/ai)+(bj/aj); //先算前两项的和
for(i=0;i<N-2;i++)
{
a=ai+aj; //从第3项开始,分母是前两项分母之和
b=bi+bj; //从第3项开始,分子是前两项分子之和
sum+=b/a;
ai=aj;
bi=bj;
aj=a;
bj=b;
}
printf("前%d项的和= %.2f\n",N,sum);
return 0;
}
示例运行结果:
2
前2项的和= 3.50
20
前20项的和= 32.66
追问
用while语句怎么做?
追答
就换一下嘛,一样的道理,修改如下:
#include <stdio.h>
#include <math.h>
int main()
{
int N,i=0;
float ai,bi;
float aj,bj;
float a,b;
float sum;
scanf("%d",&N);
ai=1,bi=2; //第1项分母分子
aj=2,bj=3; //第2项分母分子
sum=(bi/ai)+(bj/aj); //先算前两项的和
i=0;
while(i<N-2)
{
a=ai+aj; //从第3项开始,分母是前两项分母之和
b=bi+bj; //从第3项开始,分子是前两项分子之和
sum+=b/a;
ai=aj;
bi=bj;
aj=a;
bj=b;
i++;
}
printf("前%d项的和= %.2f\n",N,sum);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询