C语言在线等高手 高分悬赏

来源:百度知道 编辑:UC知道 时间:2024/06/15 06:18:51
计算如下数列的和
1+1+1/2+1/3+1/5+1/8+…
要求:计算前1000项的和,要求小数点后保留5位

已经编译运行确认:
前1000项的和为:3.35988

#include <conio.h>
#include <stdio.h>

void main()
{
int a1=1,a2=2,temp=0,i=0;
float result=1.0+1.0/a1+1.0/a2;

for(i=4;i<=1000;i++)//已经计算了1+1+1/2,从第4项开始计算
{
temp = a1+a2;
a1=a2;
a2=temp;
result+=1.0/temp;
}

printf("前1000项的和为:%.5f\n",result);

getch();
}

#include<iostream>
#include<iomanip>
using namespace std;
void main()
{
int a1=1,a2=1;
double sum=0;
for(int i=3;i<=1000;i++)
{
int s=a1+a2;
sum+=1/s;
a1=a2;
a2=s;
}
sum+=2;
cout<<setprecision(5)<<fixed<<sum<<endl;
}
这是用c++写的,改改就可以了。

....这要什么高手……

#include <stdio.h>
void main()
{
double fib1=1;
double fib2=1;
double sum=0;
double temp=0;
int count;