接收一个整数n并按升序打印从n到0的所有整数的递归方法
本文关键字:整数 打印 递归方法 升序 一个 | 更新日期: 2023-09-27 18:08:49
我尝试用递归方法将整数n按升序打印到0,但显然它不能正确地写成递归方法
private static int MyAscRec(int n)
{
int counter = 0;
while(counter <= n)
{
Console.WriteLine(counter);
counter++;
}
return counter;
}
static void Main(string[] args)
{
int a = MyAscRec(20);
}
如果您只需要打印数字,则函数可以简单如下:
private static void MyAscRec(int n)
{
if (n < 0) return; // End of recursion
MyAscRec(n - 1); // Recursive call first so you get the ascending order
Console.WriteLine(n);
}
如果你想要降序,你只需要改变Console.WriteLine(n);
和递归调用的顺序。
首先,MyAscRec()
不一定是int
。它可以是void
。这里有一段代码来做你想做的事情:
private static void MyAscRec(int n){
if(n==0)
Console.Write(n+" ");
else{
MyAscRec(n-1);
Console.Write(n+" ");
}
}