话不多说,直接上代码:
#include<stdio.h>
void f(int x)
{
printf("%d\t",x%10);
if(x>9)
f(x/10);
}
void z(int x)
{
if(x>9)
z(x/10);
printf("%d\t",x%10);
}
int main()
{
f(12345);
printf("\n");
z(12345);
}
其中void z(int x)为正序输出;void f(int x)为逆序输出。
在此代码段,使用了递归思想,将函数不断自我调用:例如在正序里面,如果我输入一个12345,那么它会先进入if(x>9) z(x/10);发现直到被除只剩下最高位数1的时候才会进入到下一条语句,之后按原路返回,又不断输出了次高位、次次高位......再到最低位,实现了按位输出。逆序同理,只不过是顺序调换了,相信读者可以自己掌握。