描述:
编写递归函数char * itostr (int n,char * string),该函数将整数n转换为十进制表示的字符串。(提示:使用递归方法)
#include <iostream>
#include<limits.h>
#define N 100
int i = 0;
char *itostr(int n, char *string) {
if (n == INT_MIN) {
string[i] = '-';
i++;
n = -(n + 1);
string[i] = (n % 10) + 49;
n /= 10;
i++;
}
if (n < 0&&n!=INT_MIN) {
string[i] = '-';
i++;
n = -n;
}
string[i] = (n % 10) + 48;
if (n /10 == 0 ){
return string;
}
else {
i++;
return itostr(n / 10, string);
}
}
int main()
{
int n;
char str[N];
std::cout << "请输入n(-2147483648~2147483647):" << std::endl;
std::cin >> n;
std::cout << "装换结果为:" << std::endl;
if (n < 0) {
itostr(n, str);
std::cout << str[0];
for (int j = i;j > 0;j--)
std::cout << str[j];
}
else {
itostr(n, str);
for (int j = i;j >= 0;j--)
std::cout << str[j];
}
return 0;
}
运行截图: