输出100~M之间的回文数
#include <stdio.h>
#include <stdbool.h>
// 函数声明
bool isPalindrome(int number);
// 主函数
int main() {
int M;
printf("请输入一个整数M(M >= 100):");
scanf("%d", &M);
if (M < 100) {
printf("输入的数字必须大于或等于100。\n");
return 1;
}
printf("100到%d之间的回文数有:\n", M);
for (int i = 100; i <= M; i++) {
if (isPalindrome(i)) {
printf("%d\n", i);
}
}
return 0;
}
// 函数定义:检查一个数是否为回文
bool isPalindrome(int number) {
int originals = input;//记录初始化数据
int b;//作为中间变量,用来记录从后往前的数字
int reverse = 0;//记录反转后的数据
while (input != 0)//当没有完成反转时
{
b = input%10;//取出个位数
reverse = reverse*10 + b;//记录反转数据
input = input/10;//记录反转次数,判断是否要继续反转
}
return reverse == originals;//判断反转前后数据是否一致
}
C语言中scanf()的参数是变量的地址:例如scanf("%d",&a)这里的&a必须是变量的地址