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

  • Post category:C

首先,这个攻略教你如何使用一个递归函数反转一个给定的数字。以下是完整的使用攻略:

步骤 1:定义递归函数

首先,你需要定义一个递归函数来反转给定的数字。下面是这个递归函数的代码:

int reverse(int num)
{
  static int sum = 0;

  if (num == 0) {
    return 0;
  } else {
    sum = sum*10 + num%10;
    reverse(num/10);
  }

  return sum;
}

这个函数会将给定的数字反转,并返回反转后的数字。

步骤 2:调用该函数

一旦你定义了递归函数,你可以调用它来反转一个数字。你需要传递一个整数作为参数,这个整数需要被反转。以下是一个示例代码:

#include<stdio.h>

int main(void) {
  int num = 12345;
  int reversed_num;

  reversed_num = reverse(num);

  printf("The reversed number of %d is %d", num, reversed_num);

  return 0;
}

在这个示例代码中,我们定义了一个整数 num ,它需要被反转。然后我们调用 reverse 函数来反转这个数,将反转后的数字存储到变量 reversed_num 中,最后打印出反转后的数字。

输出结果将看起来像这样:

The reversed number of 12345 is 54321

示例 2:使用用户输入的数字进行逆转

除了在代码中硬编码数字,我们也可以让用户输入一个数字来进行逆转。以下是一个示例代码:

#include<stdio.h>

// 声明递归函数
int reverse(int num);

int main(void) {
  int num;
  int reversed_num;

  printf("请输入一个数字:");
  scanf("%d", &num);

  reversed_num = reverse(num);

  printf("反转后的数字是 %d\n", reversed_num);

  return 0;
}

// 定义递归函数
int reverse(int num)
{
  static int sum = 0;

  if (num == 0) {
    return 0;
  } else {
    sum = sum*10 + num%10;
    reverse(num/10);
  }

  return sum;
}

在这个示例中,我们首先使用 scanf 函数获取用户输入的数字。然后,我们调用 reverse 函数反转该数字,并将反转后的数字存储在变量 reversed_num 中,最后打印出反转后的数字。

输出结果将看起来像这样:

请输入一个数字:12345
反转后的数字是 54321