关于数据高低各位的输出与丢弃问题
感觉到是初学者经常会遇到的问题,同样作为初学者!对于以下例题给出此求解方法!
题目:给一个不多于五位的正整数,要求:
①求出它是几位数;②分别输出每一位数字;
③按逆序输出个位数字,例如原数为321,应输出123。
可见此题需要分别建立三个函数求解①int Count(int x);
②int PrintOrder(int x);
③int PrintReverse(int x);
此题所需要的技巧就在于 高低各位的输出与丢弃,具体如下:例如:输入的数据为1234
关于低位:
1234/10;//得到123, 丢弃低位
1234%10;//得到4, 得到低位
此处知识点便可用于此题的③,以此类推可以在逆序输出时使用。
关于高位:
1234/1000;//得到了1, 得到高位
1234%1000//得到了234,丢弃高位
但是关于 顺序输出时,注意到每次除的数都是递减的,所以就要使用到x的位数来帮助求解,
也就是①中的Count,每一次使用时就用x/count-1,因此 要在③中调用到①的Count函数。
//为了方便理解,所以此题最好的求解顺序为①③②
源代码如下:
运行结果截图:
欢迎大家一起讨论❤