当前位置: 代码迷 >> C语言 >> 这个题目应该怎么做
  详细解决方案

这个题目应该怎么做

热度:207   发布时间:2006-03-21 12:41:00.0
以下是引用梦想中国在2006-3-21 11:17:00的发言:
#incude<stdio.h>
#incude<conio.h>

int main(void)
{
int i,t,n;
float a=2,b=1,sum=0.0;

printf("Please input n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=a/b; //sum+=a/b;
t=a;
a+=b;
b=t;
}
printf("sum=%.2f\n",sum);

getch();
return 0;
}



掉了 l不要紧, 可核心句不能错哦,相信是你的笔误造成的


----------------解决方案--------------------------------------------------------
谢谢各位啦!
----------------解决方案--------------------------------------------------------
改掉那里..输入30后仍然是负数!
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main()
{
int i;
float a,b,c,sum;
a=1.0; b=2.0; sum=0.0;
for(i=1;i<=30;i++)
{
sum+=b/a;
c=b;
b=a+b;
a=c;
}
printf("sum=%f",sum);
}
我觉得这样子比较好 运行过了 呵呵~
----------------解决方案--------------------------------------------------------
对了 忘了说结果 结果是48.840603 对的吧
----------------解决方案--------------------------------------------------------
我没有试过,。
但我觉得输入30时,是不是因为超过整形数的范围了。
试一下改为长整形。
----------------解决方案--------------------------------------------------------
  相关解决方案