我正在准备明天的面试--我需要这个问题的答案:
如何使用带有单变量的递归打印1到10和10到1
发布于 2010-05-21 12:24:01
我就是知道我会被否决的,但这里有一个解决方案。不是最好的,但你应该能够让它变得更好。
class Program
{
static void Main(string[] args)
{
printNumDown(10);
}
static void printNumDown(int num)
{
Console.WriteLine(num.ToString());
if (num > 1)
printNumDown(num - 1);
else
printNumUp(num + 1);
}
static void printNumUp(int num)
{
Console.WriteLine(num.ToString());
if (num < 10)
printNumUp(num + 1);
}
}发布于 2010-05-21 12:41:06
void print_recursive(int n) {
printf("%d\n", n);
if (n < 10)
print_recursive(n+1);
printf("%d\n", n);
}发布于 2010-05-21 12:44:46
仅使用one function和one variable:
void recurs(int num) {
printf("%d\n", num);
if (num < 10) {
recurs(num + 1);
}
printf("%d\n", num);
}
int main() {
recurs(1);
return 0;
}https://stackoverflow.com/questions/2879496
复制相似问题