递归法将一个整数n转换成字符串
任务描述
用递归法将一个整数n转换成字符串,然后输出,输出时要求各个字符之间用空格隔开。例如,输入483,应输出字符串“4 8 3”。n的位数不确定,可以是任意位数的整数。
解题提示
1)如果是负数,要把它转换为正数,同时人为地输出一个“-”号。
2)可以用putchar(n%10+‘0’)或putchar(n%10+48)来输出一个字符。
3)可以用putchar(32)来输出一个空格。
AC代码
#include<stdio.h>
void figureTrasform(int n){
//在此写入函数体
/*****************Begin******************/
if(n < 0){
n = -n;
putchar('-');
putchar(32);
}
if(n / 10) figureTrasform(n / 10);
putchar(n % 10 + 48);
putchar(32);
/***************** End ******************/
}
//注意主函数以在题目中给出
int main(){
long n;
scanf("%d", &n);
if(n==0){
//如果输入的n是0,则输出‘0’,结束。
putchar('0');
return 0;
}
figureTrasform(n); //调用数字转换函数
return 0;
}
注意:递归函数向前倒着理解更简单