回文数:C 语言函数详解313


在计算机科学中,回文数是一个正整数,当它反向读取时与正向读取相同。例如,121、12321 和 90909 是回文数,而 123、456 和 789 不是回文数。

在 C 语言中,我们可以通过编写一个函数来检查数字是否为回文数。该函数可以接受一个整数参数并返回一个布尔值,表示数字是否为回文数。

以下是实现此函数的 C 语言代码:```c
#include
int is_palindrome(int n) {
int reversed = 0;
int original = n;
while (n > 0) {
reversed = reversed * 10 + n % 10;
n /= 10;
}
return original == reversed;
}
int main() {
int number;
printf("Enter a number: ");
scanf("%d", &number);
if (is_palindrome(number)) {
printf("%d is a palindrome.", number);
} else {
printf("%d is not a palindrome.", number);
}
return 0;
}
```

此函数的工作原理如下:
它创建一个变量 reversed 来存储数字的倒置版本,以及一个变量 original 来存储传入函数的原始数字。
它进入一个 while 循环,只要 n 大于 0,循环就会继续。
在循环的每次迭代中,它将 reversed 乘以 10,然后将 n 模 10 的结果添加到 reversed 中。这有效地将最后一个数字从 n 添加到 reversed。
它将 n 除以 10,这会删除 n 的最后一个数字。
循环继续,直到 n 为 0,此时 reversed 将包含数字的倒置版本。
最后,函数比较 original 和 reversed,如果它们相等,则函数返回 true,否则返回 false。

在 main 函数中,我们提示用户输入一个数字,并将其存储在 number 变量中。然后我们调用 is_palindrome 函数,并将 number 作为参数传入。如果函数返回 true,则我们打印一个消息表示该数字是回文数。否则,我们打印一个消息表示该数字不是回文数。

2024-11-19


上一篇:在 C 语言中打印数组

下一篇:用 C 语言构建神奇的魔方阵