输出结果一样,但右边的是对的,左边是错的,错哪了呢。已经想很久了,不是负数的问题,我试过了,想不通左边为什么过不了
谭浩强C语言(第三版)习题5.7
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- honestman_ 2022-10-16 21:58关注
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num = in.nextInt(); if (num>=0) { myPrint(num); }else { num = Math.abs(num); myPrint(num); } in.close(); } public static void myPrint(int num) { // 取输入数值中的每一位 int[] all = { (num/10000)%10, (num/1000)%10, (num/100)%10, (num/10)%10, num%10 }; // 找到第一个数值不为0的元素的下标 int head = 0; for (int i=0;i<all.length;i++) { if (all[head]==0) { head++; } } // 计算并输出 输入值的位数 System.out.println(all.length-head); // 分隔输出每位 for (int j=head;j<all.length-1;j++) { System.out.print(all[j]+" "); } System.out.println(all[all.length-1]); // 倒序输出每位 for (int j=all.length-1;j>=head;j--) { System.out.print(all[j]); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度