用C++编写一个梯归函数,功能是求n的阶乘

来自:网络   更新日期:早些时候
c++编写一个求阶乘n!的函数

原理:int s,i,n;输入一个n的值用循环语句for(i=n;i!=0;i--){s=s*i(s初值设为1);}就这么简单,不用什么流程图!

//因C语言数据类型限制,不能做大数的阶乘运算
//n的值超过22结果会不准确
#include
double jc( int n )
{
int i;
double rs=1 ;
for( i=1;i<=n;i++ )
rs *= i ;
return rs ;
}
int main()
{
int n;
printf("input n:");
scanf("%d" , &n );
printf("%d!=%.0lf
" , n, jc(n) );
return 0;
}

#include<stdio.h>
double fact(int n);
int main(void)
{
int i,n,ri,repeat;
double y;
printf("输入运算次数:\n");
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
printf("输入数字n:\n");
scanf("%d",&n);
y=0;
for(i=0;i<=n;i++)
y=fact(i);
printf("输出%d!=%.0f\n",n,y);
}
return 0;
}

double fact(int n)
{
int i;
double p;
p=1;
for(i=1;i<=n;i++)
p=p*i;
return p;
}

int jiecheng( int n )
{
if ( n<=1 )
return 1 ;
else
return ( n* jiecheng(n-1));
}
int main()
{
int n;
n=10;
printf("n!=%d\n", jiecheng(n)) ;
return 0;
}

调试好的,呵呵,自己好好看看, 不难
#include<stdio.h>
#include<string.h>
void main()
{
while(1)
{
int fun(int m);
int n,num;
printf("input n:\n");
scanf("%d",&n);
num=fun(n);
printf("%d",num);
printf("\n");

}
}
int fun(int m)
{
if(m==1)
m=m*1;
else
m=m*fun(m-1);
return m;
}

int fun(int n)
{int result;
if(n==1)
result=1;
else if(n>1)
result=n*fun(n-1);
return result;
}

  • 禄劝彝族苗族自治县韩信:c语言题老师留的 兔子繁殖问题,用递归函数的方法做。 个位大神编一个然...
    衅德17715107846斐波那契额数列 问题 include <stdio.h>int fib(int n){if(n==1||n==2){return 1;}return fib(n-1)+fib(n-2);}int main(void) {printf("%d\\n",fib(3));return 0;} \/
  • 禄劝彝族苗族自治县韩信:c语言move函数怎么用
    衅德17715107846move函数是一个递归函数,它有四个形参n,x,y,z。n表示圆盘数,x,y,z分别表示三根针。move 函数的功能是把x上的n个圆盘移动到z 上。当n==1时,直接把x上的圆盘移至z上,输出x→z。如n!=1则分为三步:递归调用move函数,把n-1个圆盘从x移到y;输出x→z;递归调用move函数,把n-1个...
  • 禄劝彝族苗族自治县韩信:在c语言中如何使用递归函数
    衅德17715107846递归,是函数实现的一个很重要的环节,很多程序中都或多或少的使用了递归函数。递归的意思就是函数自己调用自己本身,或者在自己函数调用的下级函数中调用自己。递归之所以能实现,是因为函数的每个执行过程都在栈中有自己的形参和局部变量的拷贝,这些拷贝和函数的其他执行过程毫不相干。这种机制是当代大多数...
  • 禄劝彝族苗族自治县韩信:编写用C语言实现的求n阶阶乘问题的递归算法
    衅德17715107846递归算法是一种直接或者间接地调用自身算法的过程。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:(1) 递归就是在过程或函数里调用自身。(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3) 递归算法...
  • 禄劝彝族苗族自治县韩信:...递归条件是什么?并写一个简短的C语言递归函数,举例说明
    衅德17715107846递归就是函数自己调用自己的函数。其实递归函数的调用和其他一般函数调用没有什么区别,只是在形式上能够建立循环的逻辑调用。递归函数一定有个基本要求,就是肯定会满足某种条件,不再调用自身。(否则就无限递归,直到内存溢出)。例如,我们计算1到100的所有数相加。int addRecursion(int curTotle, int a...
  • 禄劝彝族苗族自治县韩信:编写一个函数,其功能是输出数字金字塔,要求用递归方法来解决。_百度...
    衅德17715107846\/\/递归显示上面的小三角形 if(h>1) { showTri(h-1); } \/\/显示最后一行 for(i = 0;i<leftPadding;i++) { printf(" "); } for(i = 1;i<h;i++) { printf("%d",i); } for(i = h;i>0;i--) { printf("%d",i); ...
  • 禄劝彝族苗族自治县韩信:C语言递归函数一个家庭五月电费比四月多五元,四月比三月多五元,一直到...
    衅德17715107846include <stdio.h>int recursion(int m){\/\/m表示月,输入任意月份,都可计算 if(m==1){ return 40; }else{ return recursion(m-1)+5; }}main() { printf("五月电费:%d元",recursion(5));\/\/参数5表示五月 }
  • 禄劝彝族苗族自治县韩信:用C语言便写一个计算f(x)=x的递归程序
    衅德17715107846函数具备递归性质,才能写出递归程序,很明显f(x)=x不成,比如阶乘就可以 f(x)=1*2*3*...*x 可以具备递归定义:\/ 1(x=0,1)f(x)=| x f(x-1)(x>1)x为正整数 则程序如下:int fact(int x){ if(x==0||x==1)return 1;else return x*fact(x-1);} 什么...
  • 禄劝彝族苗族自治县韩信:用c语言将十进制转换为二进制,八进制和十六进制(用递归函数),把...
    衅德17715107846我们定义一个递归函数trans(n,base),其中n为待转换的十进制数,base为目标进制数。函数的主体如下:void trans(int n, int base) { if (n >= base) { trans(n \/ base, base);} char c = n % base > 9 ? 'A' + (n % base - 10) : n % base + '0';printf("%c", c)...
  • 禄劝彝族苗族自治县韩信:c语言中用recursive做出输入一个数输出时是倒过来的数 例如12345输出是...
    衅德17715107846在C语言中,递归是一种强大的编程技巧,可以用来解决许多问题,比如倒序输出一个数。下面是一个简单的例子,通过递归函数`reverse_digits`实现输入一个数并输出其倒序结果。首先,我们定义了一个全局变量`n`,用于存储用户输入的数。接下来是主函数`main`,它读取用户输入,并调用`reverse_digits`函数处理...
  • 相关主题精彩

  • c++编写递归函数
  • c++定义一个函数
  • 递归函数c++简单实例
  • c++创造一个函数
  • 一个完整的c++程序
  • 相关交流由网友自由分享,本站不储存任何小说书籍,相关资源归权利人所有。
    若有事情,请联系电邮
    © 笑说网