用遞迴函式來顛倒給定數字的 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+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告