look 别发呆 2024-04-27 10:42 采纳率: 0%
浏览 19
已结题

c程序不知道为什么得不到结果

群里的程序佬帮忙看一下
我的目的是寻找四位数,它等于其逆序数,但是一直得不到结果,不知道哪里出问题

img

  • 写回答

25条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-27 10:42
    关注
    获得0.30元问题酬金

    引自免费微信小程序:皆我百晓生

    您好,您的代码目标是在四位数范围内找出那些等于其逆序数的数字。根据您提供的片段,存在一些问题。下面我将指出问题并提供修复后的完整代码以实现您的目标。

    问题分析:

    1. 您的代码片段中,变量num的初始化和计算逻辑有误,导致无法正确计算逆序数。
    2. for (int j = 1; j <= 4; ++j)循环是不必要的,可以直接在外部循环中处理每一位数字。

    修复后的完整代码:

    #include <stdio.h>
    
    int main() {
        for (int i = 1000; i <= 9999; ++i) {
            int original_i = i;
            int reversed_i = 0;
    
            // 计算逆序数
            while (original_i > 0) {
                reversed_i = reversed_i * 10 + (original_i % 10);
                original_i /= 10;
            }
    
            // 判断是否相等并输出
            if (reversed_i == i) {
                printf("%d\n", i);
            }
        }
    
        return 0;
    }
    

    这段代码首先定义了original_i存储当前遍历到的四位数,reversed_i用于计算逆序数。通过while循环逐位取出original_i的各位数字,并将其添加到reversed_i的相应位置上。循环结束后,比较reversed_ioriginal_i是否相等,若相等则输出该四位数。

    使用上述代码替换您现有的逻辑,应该能正确找到所有等于其逆序数的四位数。如有其他疑问或需要进一步协助,请随时告知。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 赞助了问题酬金15元 4月27日
  • 创建了问题 4月27日

悬赏问题

  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件