你的函数是死循环,所以什么也没有。你好好比一下它们的区别。
回复 10 楼 ying8501
因为楼主不知道"=="是什么?
程序代码:#include<stdio.h>
void main()
{
double x(double n);
double s(double n);
double n,sum;
sum=s(10);
printf("前10项和为: %.0lf\n ",sum);
printf("\n");
}
double s(double n)
{
double x(double n);
double sum=3;
for(n=10;n>=3;n--)
sum+=x(n);
return sum;
}
double x(double n)
{
double y;
if(n==1)
return y=1;
else if(n==2)
return y=2;
else
{ y=x(n-1)*x(n-2);
return y;
}
}
这样运行才完全正确
程序代码:#include<stdio.h>
void main()
{
double x(double n);
double s(double n);
double n,sum;
sum=s(10);
printf("前10项和为: %.0lf\n ",sum);
printf("\n");
}
double s(double n)
{
double x(double n);
double sum=3;
for(n=10;n>=3;n--)
sum+=x(n);
return sum;
}
double x(double n)
{
double y;
if(n==1)
return y=1;
else if(n==2)
return y=2;
else
{ y=x(n-1)*x(n-2);
return y;
}
}
这样才对