谁来看下我哪里出错了? 谢谢!
描述有数列:2/1,3/2,5/3,8/5,13/8,21/13,……求出数列的前n项的和
输入
输入一个整数n,表示前n项之和。
输出
保留4位小数输出结果。光标换行。
样例输入
40
样例输出
65.0209
#include <stdio.h>
#include <math.h>
int main()
{
int n,t,i;
float a=2,b=1,s=0;
scanf("%d",&i);
for(n=1;n<=i;n++)
{
s=s+a/b;
t=a;a=a+b;b=t;
}
printf("%.4f",s);
return 0;
}
上面是我写的代码,交上去错误提示:Wrong Answer at Test 2 谁知道哪里错了吗?
我后来改下了一下就成功了:
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
double fz,fm,sum,t;
sum=0;
fz=2.0;
fm=1.0;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum=sum+fz/fm;
t=fm;
fm=fz;
fz=t+fm; }
printf("%.4f",sum);
return 0;
}
[ 本帖最后由 linqiang1225 于 2013-12-3 18:09 编辑 ]