给一个不多于5位的正整数,要求:
1.求出它是几位数;
2.分别给出每一位数字;
3.按逆序输出各位数字,例如原数为 123,应输出 321。
说明:本代码用到递归算法,递归:简言之就是函数调用自身的过程。
//逆序输出函数
void Reserve(int num)
{
if (num > 0) {
printf("%d", num % 10);
Reserve(num /10);//运用递归
}
}
//打印每一位数字的函数
void print(int num)
{
if (num > 9)
{
print(num / 10);//运用递归
}
printf("%d ", num%10);
}
int main()
{
int num;
printf("请输入一个不多于5位的数:n");
scanf("%d", &num);
int count = 1;
printf("每位为:");
print(num);//函数调用
printf("n");
printf("倒序输出为:");
Reserve(num);//函数调用
printf("n");
while (num / 10 > 0)
{
num = num / 10;
count++;
}
printf("该数是%d位数n", count);
return 0;
}



