当前位置: 代码迷 >> C语言 >> 递归,错在何处?
  详细解决方案

递归,错在何处?

热度:146   发布时间:2006-02-24 23:57:00.0

那你的程序问题就多了,你的程序连小数都没有,等下我写个


----------------解决方案--------------------------------------------------------

是哦,SUM要定义LONG,晕菜了

不过结果不对

输入n是几结果就是几


----------------解决方案--------------------------------------------------------

该成DOUBULE,还是不对
可能是我定义的函数不对,可我看不出毛病来
#include<stdio.h>
double jie(int a, float b)
{
return a=1?1:jie(a-1,b)*b/(a-1);
}
main()
{
int i,n;
double x,sum;
sum=0;
scanf("%d,%lf",&n,&x);
for(i=0;i<=n-1;i++)

sum=sum+jie(i+1,x);

printf("\n%lf",sum);
}


----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <conio.h>
float Sum(int n,int i)
{
return i==0?1:Sum(n,i-1)*n/i;
}
void main()
{
int i,n;
float sum=0;

scanf("%d",&n);
for(i=0;i<=19;i++)
sum=sum+Sum(n,i);

printf("\n%f\n",sum);
getch();
}
看看这个


----------------解决方案--------------------------------------------------------
当然14楼里float  都可以改成double 防止溢出
----------------解决方案--------------------------------------------------------
  相关解决方案