|
发表于 2013-11-6 22:08:27
|
显示全部楼层
本帖最后由 friendan 于 2013-11-6 22:10 编辑
这代码是要解决什么题目?还是胡乱写的?希望告知。
我改了下(VC6):
- #include <stdafx.h>
- #include<stdio.h>
- #include<math.h>
- #define A(x,i,j) pow(i-x,i)/(j*i) //A带参红
- int f(int n) //既然返回了1或2,返回值类型为int
- {
- if (n == 1)
- {
- return 1;
- }
- else if(n == 2)
- {
- return 2;
- }
- else return f(n - 1) + f(n - 2); //从第3项开始,每一项等于前两项之和
- }
- int main()
- {
- int i, j, n = 1;
- double a,s,x;
- printf("输入一个绝对值小于1的数");
- do
- scanf(" %lf", &x);
- while(fabs(x)>=1); //绝对值小于1,不该这样判断:fabs(x) <= 1
- s = x;
- do{
- s += a;
- n++;
- i = f(n);
- j = f(n - 1);
- a = A(x, i, j);
- }
- //while(fabs(a) > e - 5);//哪里来的e
- while(fabs(a) >5);
- printf("s=%lf\n", s);
- return 0;
- }
复制代码
效果截图:
|
|