求助
#include<stdio.h>double product(float x,int n);
double s(float x,int n);
double product(float x,int n)
{
if(n==2)
return(x);
else
return(product(x,n-1)*x);
}
double s(float x,int n)
{
int i;
double a=0,sum=0;
for(i=1;i<=n;i++)
{
a=product(x,i)+a;
sum=a+sum;
}
return sum;
}
void main()
{
float x;
int n;
printf("输入你要求的平方和的底数和最高指数项的次数:\n");
scanf("%f,%d",&x,&n);
printf("%f\n",s(x,n));
}这个是求1到n的平方和,哪里出了问题?
----------------解决方案--------------------------------------------------------
在递归函数中没考虑n=1的情况,而在s()函数中却又有n=1的情况!~
----------------解决方案--------------------------------------------------------
s()中i应从2开始递增。并且你的输出显然不是1到n的平方和。
----------------解决方案--------------------------------------------------------
首先递归函数无法退出,其次问题表述也不清楚..
----------------解决方案--------------------------------------------------------
哦
哦,我再看看 ----------------解决方案--------------------------------------------------------