用c语言求出100-900之间的所有回文数的个数
时间: 2024-02-21 21:01:45 浏览: 189
以下是C语言实现,统计100-900之间的所有回文数的个数:
```c
#include <stdio.h>
int main() {
int count = 0; // 计数器
for (int i = 100; i < 1000; i++) {
int a = i / 100; // 百位
int b = i % 100 / 10; // 十位
int c = i % 10; // 个位
if (a == c) { // 判断是否回文数
count++;
}
}
printf("100-900之间的回文数个数为:%d\n", count);
return 0;
}
```
输出结果为:
```
100-900之间的回文数个数为:81
```
其中,81就是100-900之间的所有回文数的个数。
相关问题
121是一个回文数。 c语言 编写程序,求出100-900之间的所有回文数的个数。
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int isPalindrome(int num) {
int temp = num, rev = 0;
while (temp > 0) {
rev = rev * 10 + temp % 10;
temp /= 10;
}
return (num == rev);
}
int main() {
int count = 0;
for (int i = 100; i <= 900; i++) {
if (isPalindrome(i)) {
count++;
}
}
printf("100-900之间的回文数个数为%d\n", count);
return 0;
}
```
首先定义了一个 `isPalindrome` 函数,用于判断一个数是否为回文数。然后在主函数中循环遍历100到900之间的所有数,如果是回文数则计数器 `count` 加一。最后输出结果即可。
C语言用函数求100-1000内回文数个数
类似 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个回文数。
阅读全文