黑马程序员技术交流社区

标题: 打印1-100这100个数 [打印本页]

作者: 特洛伊    时间: 2013-10-31 23:59
标题: 打印1-100这100个数
本帖最后由 特洛伊 于 2013-11-2 12:30 编辑

屏幕上打印1-100这个100个数,不许使用循环和条件如何做?求代码

作者: 蒋东东    时间: 2013-11-1 00:45
递归可以么。
  1. class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             Print(100);
  6.             Console.ReadKey();
  7.         }

  8.         static void Print(int n)
  9.         {
  10.             if (n > 0)
  11.             {
  12.                 Console.Write(n + " ");
  13.                 Print(n - 1);
  14.             }
  15.         }
  16.     }
复制代码

作者: 夢醒了⊙﹏⊙b心    时间: 2013-11-1 12:13
亲 使用递归哦  递归是最简单的
int i=1;PrintNum();
Public void PrintNum()
{
if(i<=100)
Console.Write(PrintNum()+i+++"\t");
else
break;
}
Console.ReadKey();
作者: 佟嘉豪    时间: 2013-11-1 15:15
递归 其实递归是循环的一种   所以当不让用循环的时候,可以考虑递归

递归的核心是有IF ELSE  来跳出这个递归  和while循环类似  其中IF来改变跳出循环的变量  ELSE 用于跳出循环 基本思路都是这样的
如果不满足终止循环条件,就一直调用递归函数
2楼的代码在IF 后面跟着ELSE 里面用于break;就相当于跳出循环了
作者: haxyek    时间: 2013-11-2 09:31
本帖最后由 haxyek 于 2013-11-2 09:53 编辑

你们用IF难道不算判断吗?
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace _99.循环
  6. {
  7.     class Program
  8.     {
  9.         /// <summary>
  10.         /// 屏幕上打印1-100这个100个数,不许使用循环和条件如何做?
  11.         /// </summary>
  12.         /// <param name="args"></param>
  13.         public static void outPrint(int i)
  14.         {
  15.             Console.Write(i + " ");
  16.             try { int tmp = 1 / (i - 100); }
  17.             catch { return; }
  18.             outPrint(i + 1);
  19.         }
  20.         static void Main(string[] args)
  21.         {
  22.             outPrint(1);
  23.             Console.Read();
  24.         }

  25.     }
  26. }
复制代码

作者: 追溯客    时间: 2013-11-2 10:47
haxyek 发表于 2013-11-2 09:31
你们用IF难道不算判断吗?

判断完了也在循环吧:dizzy:
作者: 追溯客    时间: 2013-11-2 10:47
如果问题得到解决,请及时将分类设为"已解决",这样各位版主才方便给你加分哦!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2