群里的程序佬帮忙看一下
我的目的是寻找四位数,它等于其逆序数,但是一直得不到结果,不知道哪里出问题
25条回答 默认 最新
关注 获得0.30元问题酬金 引自免费微信小程序:皆我百晓生
您好,您的代码目标是在四位数范围内找出那些等于其逆序数的数字。根据您提供的片段,存在一些问题。下面我将指出问题并提供修复后的完整代码以实现您的目标。
问题分析:
- 您的代码片段中,变量
num
的初始化和计算逻辑有误,导致无法正确计算逆序数。 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_i
与original_i
是否相等,若相等则输出该四位数。使用上述代码替换您现有的逻辑,应该能正确找到所有等于其逆序数的四位数。如有其他疑问或需要进一步协助,请随时告知。
解决 无用评论 打赏 举报 编辑记录- 您的代码片段中,变量
悬赏问题
- ¥15 gg加速器加速游戏时,提示不是x86架构
- ¥15 python按要求编写程序
- ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
- ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
- ¥15 opencv图像处理,需要四个处理结果图
- ¥15 无线移动边缘计算系统中的系统模型
- ¥15 深度学习中的画图问题
- ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
- ¥15 Python报错怎么解决
- ¥15 simulink如何调用DLL文件