在C ++中使用while循环重复一次字符串N次

时间:2017-10-06 08:00:11

标签: c++ string

我刚刚启动了C ++,我遇到了while循环的困难。

以下是说明: 更改经典的Hello World程序: 这样程序打印{Hello(1)}次“HelloWorld”字符串(在不同的行上), 用户输入N。 提示:

  • 使用N获取cin >>
  • 使用带有计数器变量的N循环来处理重复。
  • 谨慎使用WHILEcout <<"\ n"进行反弹。

这是我的代码;我不知道在while循环中输入什么来打印Hello World字符串endl次。

N

3 个答案:

答案 0 :(得分:3)

以下列方式考虑一下:

while(condition){
  BODY;
} 

继续执行BODY,直到condition为真 举个例子,当下雨时,你通常会在下雨时打开雨伞。当条件下雨时不再是真的你把伞放了,对吗?

    while(isRaining){
       holdUmbrella();
    } 
    closeUmbrella();

你的案件的条件是,继续写作,直到我写完&#34; Hello World&#34;小于 N 。所以我的想法是计算你打印的次数。为此,您可以使用每次打印时递增的计数器。 while的条件检查计数器不是N的更大。以下内容应该有效。

int counter=0;
while(counter<N)
{
    cout << "Hello World!" << endl;
   //remember that you printed one time more. increment counter
    counter=counter+1;
}

答案 1 :(得分:2)

&#34; while&#34;当()中的测试为真时,指令基本上将一段代码执行到{}。

while(TEST)
{
    // any code you want to repeat while TEST is true
}

当你的节目点击&#34;而#34;它将评估TEST的指令,如果TEST为真,那么它将运行包含在括号中的代码。一旦程序到达括号中的最后一条指令,它将返回到&#34;的顶部。并再次评估TEST。只要TEST为真,这个过程就会重复。

在你的例子中,你希望代码执行10次,这样你就可以创建一个计数器变量,并在每次打印文本时增加一个#34; hello world&#34;像这样:

int count = 0;
while(count < n)// this is true while count is inferior to n
{
     printf("hello world!");
     count++; // count = count + 1; 
     // count will progressively take the value 0,1,2,3,4,5,6,7,8,9 and 10
     // since 10 is equal to n (10) then the TEST (10 < 10) will return false and the "while" instruction will stop there
     // printing will not happen for count == n (10) but it will for 0, for a total of n times
}

答案 2 :(得分:0)

  

while 循环是一个控制流语句,它允许根据给定的布尔条件重复执行代码.while循环可以被认为是重复的if语句。

语法: while(condition){ execute this }

while循环中的代码执行直到条件为真。

<强>流程图:

enter image description here

在上面的问题中,既然你想控制掉Hello World! N 次,while(N--)将有效。

示例代码:

#include <iostream>
using namespace std;
int main() {
    int N;
    cin>>N;
    while(N--)
        cout<<"Hello World!\n";
    return 0;
}

注意: 语句cout<<"Hello World!\n"执行到 N&gt; = 0