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

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

1)使用递归

2)使用while循环

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

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

  1. #include<stdio.h>
  2. int main(){
  3. int num,reverse_number;
  4. //User would input the number
  5. printf("\nEnter any number:");
  6. scanf("%d",&num);
  7. //Calling user defined function to perform reverse
  8. reverse_number=reverse_function(num);
  9. printf("\nAfter reverse the no is :%d",reverse_number);
  10. return 0;
  11. }
  12. int sum=0,rem;
  13. reverse_function(int num){
  14. if(num){
  15. rem=num%10;
  16. sum=sum*10+rem;
  17. reverse_function(num/10);
  18. }
  19. else
  20. return sum;
  21. return sum;
  22. }

输出:

  1. Enter any number: 23456
  2. After reverse the no is :65432

使用while循环反转数字

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

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int num,rem,reverse_num=0;
  5. //Input number
  6. printf("\nEnter any number:");
  7. scanf("%d",&num);
  8. while(num>=1)
  9. {
  10. rem = num % 10;
  11. reverse_num = reverse_num * 10 + rem;
  12. num = num / 10;
  13. }
  14. printf("\nReverse of input number is: %d", reverse_num);
  15. return 0;
  16. }

输出:

  1. Enter any number: 49212
  2. Reverse of input number is: 21294