我的递归算法,不对!

来源:百度知道 编辑:UC知道 时间:2024/05/13 14:38:31
下面是一个从一加到n的平方的算法,但好象没有实现此功能
#include<stdio.h>
#include<math.h>
int digui(int k,int s){
if(s>=1000) return k-1;
else{
k++;
s+=k*k;
return digui( k, s);
}
}
main(){
int k,s;
k=s=0;
digui(k,s);
printf("%d\n%d\n",s,k);
}

#include<stdio.h>
long digui(int n)
{
return n<=1?1:digui(n-1)+n*n;
}

void main(){
int k;
long s;
k=1000;
s=digui(k);
printf("%d\n%d\n",s,k);
}

int digui(int k,int s){
if(s>=1000) return k-1;
else{
k++;
s+=k*k;
return digui( k, s);
}
}
递归的话,return digui( k, s); 不用加return了
return等于就是结束函数了,递归是在函数里调用函数本身

if(s>=1000) return k-1; ?
if(s>=1000) return s;