题目:用递归法将一个整数n转换成字符串。例如,输入483,应输入字符串“483”。n是几位数不确定,可以是任意位数的整数。
注意:递归的返回是逐级返回,第一个else执行完不代表整个被调函数结束。
其中可以通过typeid功能来检查输出的是否是字符串;
typeid用法:
#include<typeinfo.h>
cout<<typeid(变量名).name();
附代码块:
void change(int x)
{
int i;
char f;
i=x/10;
if(i!=0)
{
change(i); //如果除以10后不为零,说明还有更高位,调用自身求出;
f=x%10+'0'; //求出当前最低位并输出
cout<<f<<" ";
} else{
f=x%10+'0';
cout<<f<<" "; //此时已经求至个位,直接转字符串输出即可。
}
}
int main()
{
int x;
char y;
cout<<"请输入一个整数:";
cin>>x;
if(x<0)
{
x=-x;
cout<<"-"<<" ";
}
change(x);
return 0;
}