0

流程图

上面的流程图表示一种算法,它在屏幕上显示数字 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 我不确定如何同时显示中间的数字同时仍然加倍? 谢谢!

4

5 回答 5

2

要将十添加到变量中,您可以使用:

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';

每行得到一个。


举个例子,这里有一个程序,它打印出小于三的倍数的数字,并且包括小于三十的数字:

#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++ 的特定部分,因此您必须长期坚持。

于 2012-10-19T06:19:36.260 回答
0

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

count*=2;

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

上面,您正在输出计数,但您想输出具有两个的产品:

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

最后,您应该将分号从 while 语句之前移到count=10.

另外,system("pause"); - 为什么错了?

于 2012-10-19T06:23:34.670 回答
0

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

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

注意显示命令是平行四边形,而添加命令是矩形,这些形状在流程图中具有不同的含义

于 2012-10-19T06:23:59.270 回答
0

你应该:

  1. ing 时相乘cout,这样乘法就不会影响 的实际值count
  2. ing后加10 cout,这样下一次迭代就会在序列中输出一个新的值。
  3. 继续迭代 while count < 100

像这样:

while (count < 100) {
    cout << count*2 << ", ";
    count+=10;
}
于 2012-10-19T06:26:18.273 回答
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    
}
于 2012-10-19T06:35:34.280 回答