C语言反转数字的程序

要理解这个示例,您应该了解以下 C 编程 主题


反转整数

#include <stdio.h>

int main() {
  int n, reverse = 0, remainder, original;

  printf("Enter an integer: ");
  scanf("%d", &n);

  original = n;  

  while (n != 0) {
    remainder = n % 10;
    reverse = reverse * 10 + remainder;
    n /= 10;
  }

  if (original % 10 == 0) {
    printf("Reversed number = %d", reverse);
    
    while (original % 10 == 0) {
      printf("0");
      original /= 10;
    }
  } else {
    printf("Reversed number = %d", reverse);
  }

  return 0;
}

输出

Enter an integer: 2345
Reversed number = 5432

此程序从用户处获取整数输入。然后使用 while 循环,直到 n != 0 为 false (0)。

在每次循环迭代中,计算 n 除以 10 的余数,并将 n 的值减少十倍。

在循环内部,使用以下方法计算反转后的数字:

reverse = reverse * 10 + remainder;

让我们看看当 n = 2345while 循环是如何工作的。

n n != 0 余数 反转
2345 5 0 * 10 + 5 = 5
234 4 5 * 10 + 4 = 54
23 3 54 * 10 + 3 = 543
2 2 543 * 10 + 2 = 5432
0 - 循环终止。

最后,将 reverse 变量(其中包含反转后的数字)打印在屏幕上。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战