c语言编程题目求高手解答

2024-12-05 06:45:46
推荐回答(3个)
回答1:

int fun (int x){
    if(x == 1) return 1;
    else return x*fun(x-1);
}
main(){
    int sum = 0;
    for(int i = 1;i<=6;i++){
        sum += fun(i*i)
    }
    printf("sum = %d".&sum);
}

这个题和我回答的另一个问题类似。http://zhidao.baidu.com/question/327073792835815325

fun(int x)函数是递归函数。不理解的话可以看看递归方面的资料。或者继续提问。

希望能帮到你,你的采纳是我答题的动力。

回答2:

#include 
long jc(int m) {
    if(m==1) return 1;
    else return m*jc(m-1);
}
long calc(int n) {
    if(n==1) return 1;
    else return calc(n-1)+jc(n*n);
}
int main() {
    long s = calc(6);
    printf("%ld\n", s);
    return 0;
}

jc和calc都用递归好了

回答3:

int func(int n)
{
int i,j,sub,sum = 0;
for(i = 1 ; i <= n ; i++){
sub = 1;
for(j = 1 ; j <= i*i ;j++){
sub *= j;
}
sum += sub;
}
return sum;
}
对递归调用不熟悉的话就看这个吧 简单粗暴