统计整数n是几位数;顺序输出整数n的每一个数字;逆序输出整数n的每一位数字。

(1)//统计一个整数n是几位数
//12345->5;123456789->9
int GetFigures(int n)
{
int count = 0;
do
{
count++;
n /= 10;
} while (n != 0);
return count;
}
首先,先定义一个计数器count;
使用do~while类型 先让计数器循环一次;
n /= 10; 为n后面的每一位,除去删掉来进行统计整数n的位数。
(2)//顺序输出十进制n的每一个数字
//12345->1 2 3 4 5
void PrintOrder(int n)
{
//得到n的位数 int GetFigures(int n)
int count = GetFigures(n);
//计算10000…
int power = (int)pow(10.0,(count-1));
do
{
printf("%d “,n/power);
n %= power;
power /= 10;
} while (n!=0);
printf(”\n");
}
//调用上一个函数的n
使用pow函数 将它转换成整型;
计算10的(count-1)次方。
打印n / power ;
(3) //逆序输出整数n的每一位数字
//12345->5 4 3 2 1
//得到个位数n%10
void PrintReverse(int n)
{
if (n < 0)
{
printf("-");
n = -n;
}
do
{
printf("%d ",n%10);//输出个位
n /= 10; //丢弃个位
} while (n != 0);

printf("\n");

}

你可能感兴趣的:(C语言)