#include <stdio.h>
bool fun(int n) {
int a = 0;
int num = n;
while (n > 0) {
a = a * 10 + n % 10;
n = n / 10;
}
if (a==num) {
return true;
} else {
return false;
}
}
int main() {
int num;
printf("请输入一个数字: ");
scanf("%d", &num);
if (fun(num)) {
printf("%d 是一个回文数\n", num);
} else {
printf("%d 不是一个回文数.\n", num);
}
return 0;
}
这个程序使用了fun函数进行回文数的判断,a为n倒过来的数,若n为123,则a最终为321。
关键在while循环中,a = a * 10 + n % 10;
若n=123,a一开始是0,那么第一轮循环后a=0+3,n=n/10=12
此时a=3,第二轮循环后a=30+2,n=1
最后a=320+1即为321
最终判断a与num是否相等即可
ChatGPT的解释
这个C语言程序是一个简单的回文数检测器。它的功能是判断输入的数字是否是回文数。
程序的主要部分是函数 fun
和 main
函数。
fun
函数:- 接受一个整数
n
作为参数,用来检查这个数是否是回文数。 - 定义了两个整型变量
a
和num
,其中a
用来存储n
的反转数字,num
用来保存原始输入的数字。 - 通过一个
while
循环,将n
反转存储在变量a
中。 - 在
while
循环中,每次取n
的个位数字(通过取模操作n % 10
),并将其加到a
的末尾(通过乘以 10 并加上余数a * 10 + n % 10
),然后将n
更新为其除以 10 的结果,以便下一次循环处理下一位数字。 - 最后,
fun
函数通过比较反转后的数字a
和原始数字num
是否相等来判断是否为回文数,如果相等则返回true
,否则返回false
。
- 接受一个整数
main
函数:- 主函数首先提示用户输入一个数字,并通过
scanf
函数将输入的数字存储在变量num
中。 - 然后调用
fun
函数,将用户输入的数字作为参数传递给它进行回文数的检测。 - 根据
fun
函数的返回值,输出相应的信息,指示输入的数字是否为回文数。
- 主函数首先提示用户输入一个数字,并通过
回文数是指从前读到后和从后读到前都一样的数,比如 121、1331 等。这个程序通过反转输入的数字并与原始数字比较来判断是否是回文数。
© 版权声明
若无特殊说明,文章版权归作者所有,请勿转载至任何平台。
THE END
暂无评论内容