题目:把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。
2021/5/21 22:54:42
本文主要是介绍题目:把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这题的考点很诡异,不会的看到这种题就 ... ♂上+♂
有点类似于回文数,考点为通过while循环进行取模和取余运算,难度为:1颗星
1 #include<stdio.h> 2 int main() 3 { 4 int n; // 用于获取用户输入的数 5 int tag = 0; // 用于输出 6 printf("please input 1 integer: "); 7 scanf_s("%d", &n); 8 9 if ( n >= 0 && n < 100000 ) 10 { 11 while (n != 0) 12 { 13 tag = n % 10; 14 printf("%d", tag); 15 n /= 10; 16 } 17 } 18 else { 19 printf("error!"); 20 } 21 }
看看正确的打开方式
举个栗子:假设我们输入123, 0 <= n= 123 < 100000,
第一次试图进入:n = 123 != 0, true >>> tag = n % 10 = 123 % 10 = 3 //取出个位,即原数 (n = 123) 的最后一位 3 printf("%d",tag); 输出3 //注意,此时 3 原数的 最后一位 变成了 第一位, 此时 tag = 3 n /= 10 = 123 / 10 = 12; //此时我们利用强转的的特性,直接干掉了 原数( n = 123 ) 的个位数 3 // 此时原数整体向左挪了 一位,原百位1,就变成了十位1,原十位2,变成了个位2,( 至于原个位,已经被我们丢掉了 )
第二次试图进入:n = 12 != 0, true >>> tag = n % 10 = 12 % 10 = 2 //取出个位,即原数 ( n = 123) 的倒数第二位2 printf("%d",tag); 输出2 //注意,此时 2 由原数的 倒数第二位 变成了 第二位, 此时 tag = 2 n /= 10 = 12 / 10 = 1; //此时我们利用强转的的特性,直接干掉了 原数( n = 123 ) 的十位数 2 // 此时原数整体向左挪了 两位,原百位1,就变成了个位1,( 至于原十位和个位,已经被我们丢掉了 )
第三次试图进入:n = 1 != 0, true >>> tag = n % 10 = 1 % 10 = 1 //取出个位,即原数 ( n = 123) 的倒数第三位1 printf("%d",tag); 输出1 //注意,此时 1 由原数的 倒数第三位 变成了 第三位, 此时 tag = 1 n /= 10 = 1 / 10 = 0; //此时我们利用强转的的特性,直接干掉了 原数( n = 123 ) 的百位数 1 // 此时原数整体向左挪了 三位,( 至于原百位,十位,个位,已经被我们丢掉了 )
第四次试图进入:n = 0 != 0, False >!>!>! 但此时已经输出了 321,这题跟之前的的回文数类似,但回文数需要通过乘法进行累加,而这题,我们直接输出即可
这篇关于题目:把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南