分类：电脑/网络-程序设计-C/C++
问题：请大家帮忙告诉我这道编程题的思路应该是怎么样呢?大家帮忙告诉我这 
大家帮忙告诉我这道编程题的思路应该是怎么样呢?同时递归应如何使用呢?7．  用递归法写两个ntoc（）和cton（），ntoc函数能够将一个整数转换成相应的字符串，如将483转换成“483”输出，而cton函数能够将一个由数字构成的字符串转换成整数输出。被转换对象的位数不确定。
回答：void ntoc(int n, char*s) //n为要转换的数字，s为字符串指针
{
int i = n%10, k; //i保存的是个位数
n /= 10; //n保存的是整除数
if (n > 0) //说明不是最高位
{
ntoc(n, s);
for (k = 0; s[k] > 0; k++); //找到字符串尾
s[k++] = '0' + i;
s[k] = 0;
}
else //找到了最高位
{
s[0] = '0' + i;
s[1] = 0; //不可省
}
}

int cton(char* s, int *n)//n为目标整数的指针，且要求在第一次调用时其值为0，否则会导致输出错误
{
int i = *s++ - '0';
*n = *n*10 + i;
if (*s > 0)
{
*n = cton(s, n);
}
return *n;
}

main()
{
char number[10];
int i;
scanf("%d",&i);
ntoc(i,number);
i = 0;
cton(number,&i);
printf("\n%s\n%d\n", number,i);
}