C++ C++;:使用递归实现双位数
这是我的“C++入门”课程。我需要 编写一个使用递归函数double_all_digit的程序,该函数将整数中的所有数字加倍。例如,C++ C++;:使用递归实现双位数,c++,recursion,C++,Recursion,这是我的“C++入门”课程。我需要 编写一个使用递归函数double_all_digit的程序,该函数将整数中的所有数字加倍。例如,double\u所有数字(101)将返回110011 我下面的代码只适用于一位数字;我不知道如何进行: int double_all_digit(int x) { if(x < 10) return (x*10) + x; } int双精度全数字(int x) { if(x
double\u所有数字(101)
将返回110011
我下面的代码只适用于一位数字;我不知道如何进行:
int double_all_digit(int x)
{
if(x < 10)
return (x*10) + x;
}
int双精度全数字(int x)
{
if(x<10)
返回(x*10)+x;
}
您拥有基本案例;现在是递归
- 将数字拆分为1的数字(使用模数)和其他数字
- 休息时复发;您的结果是所有数字都加倍的数字
- 将结果乘以100;将1的数字加11倍
- 将此值向上返回一级
- 将数字转换为字符串。(使用std::to_字符串)
- 迭代字符串中的字符,并为原始字符串中的每个字符在新字符串中追加2个字符。(请参见std::string::append)
- 将结果字符串转换为整数
- 这里有一个策略:
因为这是家庭作业,所以您必须执行编码位。:) 如何通过递归函数实现这一点当您获得解决方案时,请记住向上投票选择有用的内容并接受您最喜欢的答案(即使您必须自己编写),这样堆栈溢出可以正确地存档问题。