Computer >> Máy Tính >  >> Lập trình >> lập trình C

C Chương trình đảo ngược một số nhất định bằng cách sử dụng hàm Đệ quy

"Hàm đệ quy" là thứ tự gọi lại chính nó trong phần thân của hàm.

Ví dụ,

  • Một hàm fact (), tính giai thừa của một số nguyên ‘N’, là tích của tất cả các số nguyên từ 1 đến N.

  • fact () với đối số là 1 (hoặc) 0, hàm trả về 1. ngược lại, nó trả về n * fact (n-1), điều này xảy ra cho đến khi ‘n’ bằng 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.

Ví dụ

Sau đây là chương trình C để sử dụng hàm đệ quy để đảo ngược một số -

#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;
}

Đầu ra

Đầu ra được đưa ra bên dưới -

Enter a number 5
Factorial value = 120

Dưới đây là một Chương trình C khác để đảo ngược một số nhất định bằng cách sử dụng hàm Đệ quy -

#include<stdio.h>
int sum=0,rem;
int main(){
   int num,revNum;
   printf("enter number:\n");
   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;
}

Đầu ra

Kết quả như sau -

enter number: 1357
the number after reverse is :7531