# C 程序：检查数字是否为回文

> 原文： [https://www.programiz.com/c-programming/examples/palindrome-number](https://www.programiz.com/c-programming/examples/palindrome-number)

#### 在此示例中，您将学习检查用户输入的数字是否是回文。

要理解此示例，您应该了解以下 [C 编程](/c-programming "C tutorial")主题：

*   [C 编程运算符](/c-programming/c-operators)
*   [C `if...else`语句](/c-programming/c-if-else-statement)
*   [C `while`和`do...while`循环](/c-programming/c-do-while-loops)

* * *

如果该数字的倒数等于原始数字，则整数是回文。

* * *

## 检查回文的程序

```c
#include <stdio.h>
int main() {
    int n, reversedN = 0, remainder, originalN;
    printf("Enter an integer: ");
    scanf("%d", &n);
    originalN = n;

    // reversed integer is stored in reversedN
    while (n != 0) {
        remainder = n % 10;
        reversedN = reversedN * 10 + remainder;
        n /= 10;
    }

    // palindrome if orignalN and reversedN are equal
    if (originalN == reversedN)
        printf("%d is a palindrome.", originalN);
    else
        printf("%d is not a palindrome.", originalN);

    return 0;
} 
```

**输出**

```c
Enter an integer: 1001
1001 is a palindrome. 
```

* * *

在此，要求用户输入一个整数。 该数字存储在变量`n`中。

然后，我们将此数字分配给另一个变量`orignalN`。 然后，找到 n 的反向并将其存储在`reversedN`中。

如果原`orignalN`等于`reversedN`，则用户输入的数字是回文，