大一学完了c网课之后开始做题,第一次做递归的题,记录一下
用递归法将一个整数n转换成字符串,例如输入483,应输出字符“483”。n的位数不确定,也可以是负数。 **输入提示:"\n输入整数:" **输入格式:"%d" **输出提示:"\n输出是:" **输出转换的字符 【注意】:输出的是字符型数据 程序的运行示例如下: 输入整数:-345 输出是:-345
#include <stdio.h>
void transfer(int n)
{
int i, j;
i = n / 10;
j = n % 10;
if(i != 0){
transfer(i);
}
/*也可以这样:
char k = j + '0';
putchar(k); //如果k加了引号则会警告k是没有使用过的变量,输出则是kkk,putchar函数('某个字符' or 某个字符变量)
*/
printf("%c",j+'0'); //整数型数据转换为字符型 !!!
}
int main() {
int n = 0;
printf("\n输入整数:");
scanf("%d",&n);
printf("\n输出是:");
if(n < 0){
printf("-");
n = -n;
}
transfer(n);
return 0;
}