C 程序使用递归函数反转给定数字

cserver side programmingprogramming

"递归函数" 是在函数主体中再次调用自身的东西。

例如,

  • 函数 fact ( ) 计算整数"N"的阶乘,该整数是从 1 到 N 的所有整数的乘积。

  • 如果 fact ( ) 的参数为 1(或)0,则函数返回 1。否则,它返回 n*fact (n-1),这种情况会一直发生,直到"n"等于 1。

fact (5) =5* fact (4)
   =5*4*3* fact (3)
   =5*4*3*2* 事实 (2)
   =5*4*3*2*1 事实 (1)
   =5*4*3*2*1
   = 120.

示例

以下是使用递归函数反转数字的 C 程序 −

#include<stdio.h>
main ( ){
   int n,f;
   int fact (int);
   clrscr ( );
   printf ("enter a number");
   scanf ("%d", &n);
   f= fact (n);
   printf (factorial value = %d",f);
}
int fact (int n){
   int f;
   if ( ( n==1) || (n==0))
      return 1;
   else
      f= n*fact (n-1);
   return f;
}

输出

输出如下所示 −

Enter a number 5
Factorial value = 120

下面是另一个使用递归函数 − 反转给定数字的 C 程序

#include<stdio.h>
int sum=0,rem;
int main(){
   int num,revNum;
   printf("enter number:
");    scanf("%d",&num);    revNum=revNumFunction(num);//调用函数反转给定数字    printf("the number after reverse :%d",revNum);    return 0; } revNumFunction(int num){    if(num){       rem=num%10;       sum=sum*10+rem;       revNum(num/10);    }    else       return sum; }

输出

输出如下 −

enter number: 1357
the number after reverse is :7531

相关文章