使用递归function?
我想创建一个显示从1到100和100到1的数字的函数我很困惑,我怎么能用递归来做到这一点?
我不想使用任何其他循环这样做。 请提示我并忽略我的询问方式,因为我是c ++和c#的新手。
void Print100(int n) { if (n > 100) { Console.WriteLine(); // cosmetic return; // stop recursing } Console.WriteLine(n); // 1-100 Print100(n+1); // recurse Console.WriteLine(n); // 100-1, on the way out } void Main() { Print100(1); }
用于打印1到100之间的数字
private void number(int n) { if (n == 100) return; Response.Write(n + "
"); number(n + 1); }
呼叫:
number(0);
你可以做一个递归:
public static void For( T initializer, Func condition, Func iterator, Action action) { if (!condition(initializer)) return; action(initializer); For(iterator(initializer), condition, iterator, action); }
一百到一百:
For(1, i => i <= 100, i => i + 1, i => Console.WriteLine(i));
一百零一个人作为锻炼。
你编写一个带有两个参数的函数,基本上是:当前数字和方向(向上或向下)。 然后输出该数字,增加或减少它并再次调用相同的函数,直到达到0。
你可以在c ++中使用这个函数:
void printNumbers(int number) { if (i >= 1) { // 100 --> 1 cout << number << " "; printNumbers(i-1); // 1 --> 100 cout << number << " "; } }
使用printNumbers(100)调用您的函数
希望这可以帮助!
C#
public void recurseInts( int start, int finish ){ if( start > finish ) return; Console.WriteLine(start); Console.WriteLine(finish - start); recurseInts(start + 1 , finish); } recurseInts(0,100);
我认为这就是你想要的C ++
#include using namespace std; void recur(int start, int end,bool asc){ cout << start << endl; if(!asc && start==0)return; if(start == end) asc = false; asc?start++:start--; recur(start, end, asc); } int main(){ recur(0, 100,true); system("pause"); return 0; }
复制此代码并提交作业:
上述就是C#学习教程:使用递归function?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
class Program { public static bool forward = false; public static bool stop = false; static void Main(string[] args) { PrintNumbers(0); Console.ReadLine(); } private static void PrintNumbers(int i) { if (i <= 100 && !forward) { Console.WriteLine(i); if (i == 100) { forward = true; } PrintNumbers(i + 1); } if (i >= 0 && i < 100 && forward && !stop) { Console.WriteLine(i); PrintNumbers(i - 1); if (i==0) { stop = true; } } } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1017958.html