首页 > 试题广场 >

递归实现顺序输出整数:输入一个正整数n,编写递归函数实现对其

[问答题]

递归实现顺序输出整数:输入一个正整数n,编写递归函数实现对其进行按位顺序输出。试编写相应程序。

推荐
#include <stdio.h>
int inorder(int n);
int main(void)
{
int n;
scanf("%d",&n);
printf("%d\n" , inorder (n));
}
int inorder (int num)
{
if(num<10)
return num;
else
return(inorder (num/10)*10+ num%10);
}

发表于 2018-05-06 21:43:57 回复(1)
#include<stdio.h>
void bite_output(int n);
int main(void)
{
    int n;
    printf("input n:");
    scanf("%d",&n);

    bite_output(n);

    return 0;
}

void bite_output(int n)
{
    if(n<10)
        printf("%d\n",n);
    else{
        bite_output(n/10);      //一直到最高位
        printf("%d\n",n%10);
    }
}
/** 以4321 为例,else{}中的内容自栈底向上按顺序为:4321,432,43;
到达 4 时递归出口if直接输出 4 ,然后每次 %10 输出,
43、432、4321 依次输出各位:3、2、1 **/

发表于 2022-02-27 21:36:33 回复(0)