1、求十进制整数n的位数:n/=10;每除一次10可以丢一位,如123/10=12;
代码实现:
int GetFigures(int n)
{
int count = 0;
do
{
count++;
n /= 10;//丢弃个位 123/10=12
}while(n != 0);
return count;
}
2、逆序输出十进制整数n的各位数:
n%10即可得到最低位的数,如123%10=3;
想要得到第二位数,方法同上,n\10即可;
代码如下:
int void PrintReverse(int n)
{
if(n < 0)
{
printf("-");
n = -n;
}
do
{
printf("%d",n%10);
n /= 10;
}while(n!=0);
printf("\n");
}
3、正序输出十进制整数n的各位数:
首先,必须知道十进制整数n的位数,因为我们这里还是用除法运算,这里就要用到1中的函数,然后,举例如n为12345,就用n/(10^4)=1,得到第一位,再用n%(10^4)=2345,成功将一位去除,以此类推。
代码如下:
void PrintOrder1(int n)//1234
{//int GetFigures(int n)
int count;
count = GetFigures(n);
int power = 1;
//pow(10,count-1);
for(int i=0;i<count-1;i++)//4->1000
{
power *= 10;//power = power*10;
}
do
{
printf("%d ",n/power);//得到最高位
n %= power;//丢弃最高位
power /= 10;
}while(n!=0);
printf("\n");
}