将一串数字按顺序输出:
上次写到一串数字逆序输出,那我们接着上次的思路,将一串数字顺序输出,那么就是每一次取数字的最高位,然后丢掉,然后再取最高位,然后再丢掉,最后只剩下0了就跳出循环,那么问题是,怎么每次都取到最高位的数字呢?那就是每次除余最高位的位数。
比如12345,第一次整除10000,得到1,接着12345%10000=2345,舍弃1,以此类推,每次输出最高位,即可完成顺序输出。
int PrintOrder(int n)
{
int c = Count(n);//这里我们调用之前写的求最高位的函数Count;
int pow=1;
for(int i=0;i < Count(n); i++)
{
pow*=10; //取n最高位数的模;
}
do
{
printf("%d ",n / pow); //将最高位数输出出来;
n %= pow;
pow /= 10;
}while(n != 0);
printf("\n");
}