请输出所有的 3 位对称数,对称数指的是一个整数 n 正过来和倒过来是一样的,比如: 101 、 121 、 282 … 101、121、282… 请从小到大输出符合条件的3位对称数,每行 1 个。使用c语音
时间: 2024-10-22 21:19:06 浏览: 30
判断一个数字是否是对称数字
在C语言中,你可以创建一个循环来生成并检查所有三位的对称数。以下是相应的代码片段:
```c
#include <stdio.h>
#include <string.h>
// 函数用于判断字符串是否为对称
int is_palindrome(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - 1 - i]) {
return 0; // 如果发现不匹配则返回0
}
}
return 1; // 全部匹配则返回1
}
int main() {
for (int num = 100; num < 1000; num++) { // 从100开始,直到包含三位数的所有可能
char num_str[4];
sprintf(num_str, "%03d", num); // 转换为3位数的字符串形式
if (is_palindrome(num_str)) { // 检查是否为对称数
printf("%d\n", num); // 输出对称数
}
}
return 0;
}
```
这个程序会输出所有三位的对称数,每行一个。
阅读全文