这个问题是我在做学校的作业时候看到的。只隐约有印象讲过,但是忘记了怎么操作。听同学的点通才回想起来,特此写个博客留记
逆序打印
目的:输入“789”,打印“987”
注:本博客的数字逆序只涉及 十进制
代码实现有两种方式:
1.利用if语句进行大小判断,直到选出从大到小的数字排序
这个方法十分复杂,稍不留意就会弄错,所以在实际应用中不推荐这样操作
这里就不赘述具体代码了。(才不是懒,压根没试过)
2.使用%10的方法直接打印
代码如下:
#includeint main() { int a = 0; scanf("%d", &a); printf("%d", a % 10); printf("%d", a/10 % 10); printf("%d", a/100 % 10); return 0; }
代码结果如下
这个代码成功达到了我们的目的,但是有一个比较明显的弊端
如果我们需要更多位的数字的逆序数时,这个代码就会变得很长,而且每次都需要我们手动添加一个新的printf
想要逆序比较长的数字,就需要用到循环语句,我使用的是for循环
主要需要解决的问题是,a每%10一次后就需要除以10再%10一次
#includeint main() { int a = 0; int n = 0; int i = 0; printf("请输入需要逆序的数字:"); scanf("%d", &a); printf("请输入该数字的位数:"); scanf("%d", &n); for (i = 0; i < n; i++) { printf("%d", a % 10); a /= 10; } return 0; }
代码运行结果如下
我们的目的成功达成!



