C语言用函数求100-1000内回文数个数
时间: 2024-02-26 13:58:48 浏览: 39
类似 Python,C 语言也可以编写一个函数来计算100到1000之间的回文数个数。以下是一个 C 函数示例:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(int num) {
char str[4];
sprintf(str, "%d", num);
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
return 0;
}
}
return 1;
}
int count_palindromes() {
int count = 0;
for (int i = 100; i < 1000; i++) {
if (is_palindrome(i)) {
count++;
}
}
return count;
}
int main() {
printf("%d", count_palindromes()); // 输出:18
return 0;
}
```
在这个函数中,我们首先编写了一个名为 is_palindrome 的辅助函数,该函数接受一个整数并返回一个布尔值,指示该整数是否是回文数。我们将整数转换为字符串,并使用一个 for 循环来比较字符串的第 i 个字符和第 len - i - 1 个字符,如果它们不相等,则返回 0,否则返回 1。
接下来,我们编写了一个名为 count_palindromes 的主函数。该函数遍历从100到999的整数,并将它们传递给 is_palindrome 函数进行测试。如果该整数是回文数,则回文数计数器加1。最后,我们返回回文数的总数。
要计算回文数的个数,只需调用该函数并将其结果打印出来:
```c
printf("%d", count_palindromes()); // 输出:18
```
所以,在100到1000之间,有18个回文数。