Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 1.65 KB

File metadata and controls

79 lines (61 loc) · 1.65 KB

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

原文: https://beginnersbook.com/2014/06/c-program-to-reverse-a-given-number-using-recursive-function/

在本教程中,我们将学习以下两种反转数字的方法。

1)使用递归

2)使用while循环

使用递归反转给定的数字:

在这个程序中,我们调用用户定义的函数reverse_function,该函数递归调用自身。

#include<stdio.h>
int main(){
   int num,reverse_number;

   //User would input the number
   printf("\nEnter any number:");
   scanf("%d",&num);

   //Calling user defined function to perform reverse
   reverse_number=reverse_function(num);
   printf("\nAfter reverse the no is :%d",reverse_number);
   return 0;
}
int sum=0,rem;
reverse_function(int num){
   if(num){
      rem=num%10;
      sum=sum*10+rem;
      reverse_function(num/10);
   }
   else
      return sum;
   return sum;
}

输出:

Enter any number: 23456
After reverse the no is :65432

使用while循环反转数字

在上面的程序中,我们学习了如何使用递归函数反转数字。在这里,我们将学习如何使用while循环。

#include<stdio.h>
int main()
{
   int num,rem,reverse_num=0;
   //Input number
   printf("\nEnter any number:");
   scanf("%d",&num);

   while(num>=1)
   {
      rem = num % 10;
      reverse_num = reverse_num * 10 + rem;
      num = num / 10;
   }

   printf("\nReverse of input number is: %d", reverse_num);
   return 0;
}

输出:

Enter any number: 49212
Reverse of input number is: 21294