数字处理问题
数字处理问题
1.求它是几位数
2.分别输出每一位数
3.逆序输出各位数字
#include<stdio.h>
#include<stdio.h>
int GetFigures(int n);
//顺序输出每一位数字
void PrintOrder(int n)
{
//先得到n是几位数字
int c = GetFigures(n);
//计算和除以取余的数字
int power = pow(10.0,c-1);
while(n != 0)
{
printf("%d\n",n/power);//获得高位数
n %= power;//n=n%power;丢掉高位数
power /= 10;
}
printf("\n");
}
//逆序输出
void PrintReverse(int n)
{
while(n != 0)
{
printf("%d\n",n%10);//求出个位数字
n /= 10;//丢掉个位数字
}
printf("\n");
}
//计算n是几位数字
int GetFigures(int n)
{
int count=0;
/*if(n == 0)
{
return 1;
}*/
while(n != 0)
{
count++;
n /= 10;丢掉个位数字
}
return count;
}
int main()
{
PrintOrder(12345);
PrintReverse(12345);
printf("%d\n",GetFigures(12345));
return 0;
}
测试结果如下