将会有多少次" Hello World"被打印?

时间:2015-07-02 09:20:57

标签: c for-loop

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

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

2 个答案:

答案 0 :(得分:2)

嗯,你可以介绍一个计数器,以确保

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 + ......?

答案 1 :(得分:1)

你的数学错误。

答案是1 + 2 + 3 + 4 + ......高达n-1

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