C语言程序设计-查找1到1993间的回文数

题目:

寻找1到1993之间的所有回文数(回文数:1221、2222、9009),并打印它们。

实现思路:

  1. 使用一个循环遍历从1到1993的所有整数。
  2. 对于每个整数n,使用另一个循环将其转换为它的反转数x。
  3. 检查n是否等于它的反转数x。如果相等,则它是一个回文数,并打印该数。

代码:

#include <stdio.h>    
  
int main() {    
    int n, x = 0, y, z; // n用于循环计数,x用于存储反转后的数,y用于在循环中存储n的副本,z未使用,可以移除。  
  
    for(n = 1; n <= 1993; n++, x = 0) { // 遍历从1到1993的所有整数,每次循环开始时将x重置为0。  
        y = n; // 将n的值赋给y,以便在while循环中处理,避免改变n的值。  
        while(y != 0) { // 当y不为0时,继续循环。  
            x = x * 10 + y % 10; // 将y的最后一位加到x的末尾,并去掉y的最后一位。  
            y /= 10; // 去掉y的最后一位。  
        }  
        if(n == x) printf("%d\n", x); // 如果n等于其反转数x,则打印x。  
    }  
    return 0;    
}

解读:

  1. #include <stdio.h>:包含标准输入输出头文件,用于使用printf函数。
  2. int main():程序的主入口点。
  3. 变量声明:
    • int n:用于循环遍历1到1993的整数。
    • int x = 0:用于存储n的反转数,初始化为0。
    • int y:用于存储n的副本,以避免在反转过程中改变n的值。
    • int z:此变量在代码中未使用,可以移除。
  4. for(n = 1; n <= 1993; n++, x = 0):循环从1开始,每次迭代增加n的值,并在每次迭代开始时将x重置为0。
  5. y = n;:将n的值赋给y,以便在while循环中处理。
  6. while(y != 0):当y不为0时,执行循环体,用于反转y的值。
    • x = x * 10 + y % 10;:将y的最后一位加到x的末尾,并更新x的值。
    • y /= 10;:去掉y的最后一位。
  7. if(n == x) printf("%d\n", x);:检查n是否等于其反转数x。如果相等,打印x的值。
  8. return 0;:程序成功执行完毕,返回0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彪哥.TOP

稀罕作者

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值