求解释!谢谢  #include   int func(int n)   {if(n<1) return 1;   else return n+func(n-1);

如题所述

递归啊。。你输入一个大于等于1的数的时候,它会返回n+func(n-1); 那么会跳入到func(n-1)这个函数里面去,也就是说会变成 func(n)=n+func(n-1)=n+(n+func(n-2))=n+(n+(n+func(n-3)))....一直到n-(n)的时候 这时候的n便小于1了,就结束递归了。所以最后答案就是n个n相加。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-11
这个是递归程序
如:n=5;
n>=1,做5+func(4)——》5+4+func(3)——》……——》5+4+3+2+1+func(0);
n<1;返回 1;函数再一层层返回
它的功能求的是n+n-1+n-2+ ……+3+2+1+1;
第2个回答  2012-06-11
比如
void main()
{
int i;
i=func(5);
printf("i=%d",i);
}
int func(int n)   
{
if(n<1) return 1;   
else return n+func(n-1);
}
其结果为i=5+4+3+2+1=15;本回答被提问者和网友采纳

...#include int func(int n) {if(n<1) return 1; else return n+fun...
递归啊。。你输入一个大于等于1的数的时候,它会返回n+func(n-1); 那么会跳入到func(n-1)这个函数里面去,也就是说会变成 func(n)=n+func(n-1)=n+(n+func(n-2))=n+(n+(n+func(n-3)))...一直到n-(n)的时候 这时候的n便小于1了,就结束递归了。所以最后答案就是n个n相加。

...h>int func(int n){if(n==1)return 1; else return(n*func_百 ...
递归:4*3*2*1=24;

在C语言中用递归调用的方法求n!
if(n < 2)return 1;else return n*Func(n-1);} int main(){ int n = 5;printf("n! = %d\\n",Func(n));return 0;} 执行过程:-》Func(5)-》5*Func(4)-》5*(4*Func(3))-》5*(4*(3*Func(2)))-》5*(4*(3*(2*Func(1)))当n为0的时候停止递归,返回结果 由于...

用C语言编写程序从键盘输入一个正整数数n,输出n!
编程实现计算n!,也就是n*(n-1)*(n-2)*...*1,可以通过递归函数来实现,具体实现方法:include <stdio.h>int Func(int n){if(n < 2)return 1;else return n*Func(n-1);} void main(){int n =0,m=0;printf("请输入一个正整数:")scanf("%d",&n);m=Func(n);printf("...

c语言中for语句编写阶乘
func(int n){ if(n==1)return 1;return (float)(n*func(n-1));} void main(){ int n;printf("\\nfactorial of :");scanf("%d",&n);printf("result is .0f\\n",func(n));} 运行过程:factorial of :30(用户输入要求价乘的数,这里我们输入30)result is 2652528598121910680000000000000...

C语言构造一个阶乘函数(分n=0和n>=1情况)?
int func(int n){ if(n==0){ return 1;}else{ return n * func(n-1);} }

用c语言编程实现求1!+2!+3!+。。。+n!的值,其中n值由键盘输入
include <stdio.h>\/\/求n!的值int func(int n){if(n == 1)return 1;elsereturn n*func(n-1);}int main(){int n,i,sum=0;printf("输入n的值: ");scanf("%d",&n);if(n<=0){printf("Input Error!\\n");return -1;}for(i=1;i<=n;i++){sum+=func(i);}printf("1!+...

求解c语言题目题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人...
include <stdio.h>int func(int n){if(n==1)return 10;elsereturn 2+func(n-1);}int main(int argc, char *argv[]){int n=5;printf("%d\\n",func(n));return 0;}答案是18岁,ok?

c++ n个数求和
int Fun(int n){ if(n==1)return 1;else return Fun(n-1)+n;} 2、对程序员的编写稍微繁琐,但运行效率稍高于第一种:int Fun(int n){ int r=0,i;for(i=1;i<=n;i++)r+=i;return r;} 3、对程序员来讲是最复杂的,需要自己进行推理计算得到公式,但运行效率是最高的:int ...

用c++设计一个自定义函数func(),其功能是求n!,用c++设计主函数测试改自...
int func(int n){ if (n == 0) return 1; \/\/ 0! = 1 int res = 1;for (int i = 1; i <= n; i++) { res *= i;} return res;} \/\/ 主函数,用于测试 func int main(){ int n = 5;cout << n << "! = " << func(n) << endl; \/\/ 输出 5! = 120 r...

相似回答