C ++初学者编程 - 循环和while语句

时间:2012-10-19 06:14:04

标签: c++ loops while-loop

FlowChart

上面的流程图表示在屏幕上显示数字20,40,60,80,100,120,140,​​160,180的算法。使用while语句将算法编码为程序。计数器变量应该是一个名为count的int变量。保存并运行该程序。测试程序,看看你是否得到了正确的输出。在程序正确运行时纠正任何错误,将IPO图表和程序代码复制并粘贴到word文档中。

我刚开始使用C ++,我不确定如何使用while语句和编写代码。帮助将不胜感激。到目前为止,这是我的代码:

#include <iostream>
using namespace std;

int main ()
{
  int count;
  count = 10

;  while (count < 200) {
    cout << count << ", ";
    count*=2;
  }

  system("pause");
  return 0;
}

如何“向计数器添加10”并显示上面列出的数字? (20,40,60,80,100,120,140,​​160,180) 到目前为止,它只显示10,20,40,80,160 我不确定如何同时显示两者之间的数字,同时还要加倍? 谢谢!

5 个答案:

答案 0 :(得分:2)

要向变量添加10,您可以使用:

count = count + 10;

或缩写形式:

count += 10;

要输出一个乘以2的数字,您只需使用:

cout << (count * 2);

就以(貌似)所需格式输出数字列表而言,您希望在第一个条目栏之前有", ",因此您可以将cout语句更改为:

if (count > 10)        // assuming 10 is the first number.
    cout << ", ";
cout << count;

然后确保最后写出换行符:

cout << '\n';

如果您实际上并不担心单行上数字的格式很好,那么只需用户:

cout << count << '\n';

每行获得一个。


举例来说,这是一个程序打印出的数字小于3的倍数,包括少于30的数字:

#include <iostream>

int main (void) {
    int num = 3;
    while (num <= 30) {
        if (num > 3)
            std::cout << ", ";
        std::cout << (num - 1);
        num = num + 3;
    }
    std::cout << '\n';
    return 0;
}

输出结果为:

2, 5, 8, 11, 14, 17, 20, 23, 26, 29

对上述评论以及示例程序的分析应该足以让您根据自己的规范构建类似的程序。

当然,通常有更好的方法来处理,如果不是因为对你强加的任意限制。您的整个程序可以写成:

#include <iostream>

int main (void) {
    std::cout << 20;
    for (int num = 40; num < 200; num += 20)
        std::cout << ", " << num;
    std::cout << '\n';
    return 0;
}

但是,由于这些限制可能是为了确保您学习特定的部分C ++,因此您必须做很多事情。

答案 1 :(得分:0)

据我了解流程图,只能显示带有2的产品。所以,

count*=2;

不正确,因为它改变了计数。您想要添加10,因此请将其替换为count+=10;

在上面,您输出的是计数,但是您希望输出两个产品:

cout << (2*count) << ", ";

最后,你应该在count=10后面的while语句之前移动分号。

此外,system("pause"); - Why is it wrong?

答案 2 :(得分:0)

你正在以错误的方式解释流程图。你将计数器乘以count*=2,你不应该这样做,流程图说,显示计数器乘以2 意味着不同的东西。

while (count < 200) {
  cout << count * 2 << ", ";
  count += 10;
}

请注意,display命令是平行四边形,而add命令是矩形,这些形状在流程图中有不同的含义

答案 3 :(得分:0)

你应该:

  1. cout时乘以,这样乘法不会影响count的实际值。
  2. cout之后添加10,以便下一次迭代将在序列中输出新值。
  3. 继续count < 100
  4. 进行迭代

    像这样:

    while (count < 100) {
        cout << count*2 << ", ";
        count+=10;
    }
    

答案 4 :(得分:0)

使用加号(+)添加特定值并为其赋值=;或组合+ =。

缩短你的代码,它可能看起来像:

int main(int argc, char* argv[])
{
int count = 10;
while( (count+=10) < 200 )
    cout << (count*2) << ", ";

system("pause");
return 0;
}

或者如果你需要这么简单的计数循环,我会使用for() - 循环,如:

int main()
{
for( int count = 10; count < 200; count+=10)
    cout << (count*2) << ", ";

//do stuff    
}