【问题标题】:c# for loops: assignment for my programming classc# for 循环:我的编程课的作业
【发布时间】:2015-04-01 00:08:24
【问题描述】:

对于我的编程课作业之一,我有以下问题,我想知道是否有人可以帮助并为我解释答案。我们刚从循环开始,这门课的书并没有太大帮助……问题是:

仔细研究下面的代码块。当您提交您的实验室时,请在您提交的内容中添加一条评论,回答有关此代码的以下问题:

for (int j = 0; j < 3; j++)
{
    for (int i = 0; i < 3; i++)
    {
        if ( block [i] > block [i+1])
            swap (ref block [i], ref block [i + 1]);
    }
}

(1)上面的代码执行时,这条语句执行了多少次?

  if ( block [i] > block [i+1])

【问题讨论】:

  • 1.在该行设置断点 2. 运行代码 3. 计算它停止的次数 4. 利润(学习如何运行调试器)
  • 而块数组的结构是……
  • 你知道for 循环是什么吗?这个怎么运作?你在这里错过了什么?
  • 3^2 = 9 次执行
  • 请不要只求我们为您解决问题。向我们展示如何尝试自己解决问题,然后向我们确切地展示结果是什么,并告诉我们您为什么觉得它不起作用。请参阅“What Have You Tried?”了解您真正需要阅读的优秀文章。

标签: c# if-statement for-loop


【解决方案1】:

在这种情况下计数会起作用,它会回答问题,但我认为知道为什么会更好。

查看“for”循环。每个块中的所有代码都将重复 x 次。

这种情况下第一个会重复3次,j=0一次,j=1一次,j=2一次。当j=3时,j>3的条件不再成立。

p>

所以我们知道 j for 循环中的所有代码都会运行 3 次。

所以看看下一个 for 循环......它也会循环 3 次。

如果外部 for 循环将调用“嵌套”for 循环 3 次,而嵌套 for 循环将运行它的代码块 3 次,我们知道中间的代码将运行 3 次,3 次,所以 3 * 3 = 9。

【讨论】:

    【解决方案2】:

    尝试运行这段代码,看看是否有帮助:

    var count = 0;
    for (int j = 0; j < 3; j++)
    {
        for (int i = 0; i < 3; i++)
        {
            count++;
        }
    }
    Console.WriteLine(count);
    

    我明白了:

    9
    

    如果代码变成这样:

    var count = 0;
    for (int j = 0; j < 4; j++)
    {
        for (int i = 0; i < 5; i++)
        {
            count++;
        }
    }
    Console.WriteLine(count);
    

    然后我得到:

    20
    

    【讨论】:

      【解决方案3】:

      只需在以下位置放置断点: if (block[i] > block[i + 1])

      然后运行“开始调试”并计数...

      但首先在 Main 下构建你的数组:

              int[] block = new int[5];
      
              for (int j = 0; j < 3; j++)
              {
                  for (int i = 0; i < 3; i++)
                  {
                      if (block[i] > block[i + 1])
                      {
                          Console.WriteLine(i);
                          //swap(ref block[i], ref block[i + 1]);}
                      }
                  }
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-16
        • 1970-01-01
        • 1970-01-01
        • 2012-01-05
        • 2016-12-17
        • 1970-01-01
        相关资源
        最近更新 更多