C语言编程问题求解答!~谢谢。。。。急用!~急!~

1.计算分数序列的和:s=1+1/2+1/3+.....直到最后项小于0.00001
2.输出数列:1,1,2,3,5,8,13,21....的前40项和。

请哪位大师用次语言编个程序,万分感谢!!急用

1.计算分数序列的和:s=1+1/2+1/3+.....直到最后项小于0.00001
void main()
{
float n=1.0,sum=0;

while(1/n>=0.00001)
{
sum+=1/n;
n++;
}
printf("%f\n",sum);
} 
2.输出数列:1,1,2,3,5,8,13,21....的前40项和。
void main()
{
int a=1,b=1,sum=0,i;
for(i=0;i<20;i++)
{
sum+=a+b;
a=a+b;
b=a+b;

}
printf("%d\n",sum);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-03
1.
#include <stdio.h>
#include <math.h>

int main()
{

float sum = 0.0;
float n = 1;

while( (1 / n)> 0.00001)
{
sum += 1/n;
n++;
}

printf("N:%f\nsum:%f\n",n,sum);

return 0;
}

2.
#include <stdio.h>
#include <math.h>

long f(long n)
{
if(n == 0 || n == 1)
return 1;
else
return f(n-1)+f(n-2);
}

int main()
{
printf("%ld\n",f(40));
return 0;
}
第2个回答  2009-04-03
//--------------------------------第一题
#include<stdio.h>
void main()
{
int i=1;
double term=1.0/(double)i,s=0;
while(term>=0.00001){
s=s+term;
i++;
term=1.0/(double)i;
}
printf("s=%.2f",s);

}

//-------------------------------第二题
#include<stdio.h>
void main()
{
int f1=1,f2=1,count=2;
long sum=0;
while(count<=40){
sum+=(f1+f2);
printf("%d,%d\n",f1,f2);//这里用于打印出前40项,你可以去掉
f1=f1+f2;
f2=f1+f2;
count+=2;
}
printf("sum=%ld",sum);
}
//----------------------------------
上面都已经调试运行了
相似回答