//统计n是几位数字
#include<stdio.h>
int Count(int n)
{
int tmp = 0;
//while(n != 0) //(对于while和do-while的区别就是能不能可以无条件执行一次,
Do // 在对于0的运算时会有区别。
{
n /= 10; // 每次删除最后一位
tmp++; //tmp+1
} while (n != 0);
return tmp;
}
int main()
{
printf("%d\n", Count(0));
printf("%d\n", Count(1234));
}
//12345->5 4 3 2 1
void PrintReverse(int n)
{
do //使用do-while的原因和上面一样;
{
printf("%d ", n % 10); // 对10取余,及吧最后一位输出;
n /= 10; // 去掉最后一位;
} while (n != 0);
printf("\n");
}
int main()
{
PrintReverse(0);
PrintReverse(1234);
}
//12345->1 2 3 4 5
void PrintOrder(int n)
{
int c = Count(n);
int power = 1;
for(int i=0;i<c-1;i++)//12345 //先求出多少位
{
power *= 10;
}
do //将每一位输出
{
printf("%d ",n/power);
n %= power;
power /= 10;
}while(n != 0);
printf("\n");
}
int main()
{
PrintOrder(0);
PrintOrder(1234);
}
利于递归的办法正向输出每一位
void PrintOrder(int n)
{
if (n >= 10)
{
PrintOrder(n / 10); //使用递归
}
printf("%d ", n % 10);
//printf("\n");
}
int main()
{
PrintOrder(1234);
}