用递归函数来颠倒给定数字的 C 语言程序


“递归函数”是指在函数主体中再次调用自身的函数。

例如,

  • 一个计算整数‘N’阶乘的函数 fact ( ),即从 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* fact (2)
   =5*4*3*2*1 fact (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);//calling function to reverse the given number    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

更新于: 2021 年 3 月 15 日

11K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始
广告