输入一个整数,要求倒叙打印输出。例如输入123,要求输出321. 还有个要求是使用递归。
思路:递归首先考虑终结条件,应该是在整数n/10等于零,表示打印了最高位,就终结了。其他情况应该继续调用函数。
程序如下:
#include <cstdio>
void printa(int n) {
if(n<0) {
printf("-");
n=-n;
}
if(n%10) {
printf("%d", n%10);
}
else {
printf("0");
}
if(n/10) {
printa(n/10);
}
}
int main() {
int aNum;
scanf("%d",&aNum);
printa(aNum);
return 0;
}
递归函数名:printa(参数是要打印的整数)
首先处理负数,加上负号。
然后打印个位
然后判断/10是否大于0,如果大于0,说明还有十位、百位。。。,递归调用即可。