【问题标题】:How many times will "Hello World" be printed?“Hello World”会打印多少次?
【发布时间】:2015-07-02 09:20:57
【问题描述】:
for (int i = 0; i < n; i++)
    for(int j = 0; j < i; j++)
        printf("Hello World");

我认为答案应该是 n(n)!因为外循环执行 n 次,内循环 (n)!次。

【问题讨论】:

  • 如果你运行它,你会得到答案。问题是什么?
  • I think the answer should be...是什么阻止您验证它?
  • 你为什么不跑过去看看?
  • 问题在标题中。
  • 然后拿起笔,在“头脑”中运行它,你就会明白它是如何工作的。

标签: c for-loop


【解决方案1】:

你可以引入一个计数器来确定

int counter = 0;
for (int i = 0; i < n; i++)
    for(int j = 0; j < i; j++)
    {
        printf("Hello World");
        counter  ++;
    }

或者拿支笔:

i = 1  j = 0  Hello World
i = 2  j = 0  Hello World
       j = 1  Hello World
i = 3  j = 0  Hello World
       j = 1  Hello World
       j = 2  Hello World
i = 4  j = 0  Hello World
       j = 1  Hello World
       j = 2  Hello World
       j = 3  Hello World
[...]

你可以看到一个模式... 1 + 2 + 3 + ... ?

【讨论】:

    【解决方案2】:

    你做错了。

    答案是 1+2+3+4+ ... 直到 n-1

    而不是 1*2*3 ... n

    【讨论】:

      猜你喜欢
      • 2020-02-03
      • 2012-10-06
      • 2013-08-23
      • 1970-01-01
      • 2018-03-11
      • 2014-01-10
      • 1970-01-01
      • 2015-05-04
      • 1970-01-01
      相关资源
      最近更新 更多