丶不离不弃 发表于 2019-9-10 04:01:30

C++种的range如何用?

我们老师让我们输入一个最小的数字a,然后输入一个最大的数字b,然后分别判断在range中有多少个素数,然后输出:
输出的格式如下:

There are xxxx primes in the range
我有个问题就是我不知道这个range【】是怎么用,我用cout输出这个range电脑一直说我未定义,求求大神们帮帮我#include <iostream>
using namespace std;
int main() {
    bool flag = true;
    int a, b, i, j, times = 0;
    cout << "please enter a positive integer as the minimum:" << '\n';
    cin >> a;
    cout << "please enter a positive integer as the maximum:" << '\n';
    cin >> b;
    for (i = a; i <= b; i++)      // read the numbers from a to b
    {
      for (j = 2; j <= i / 2; j++)
      {
            if (i % j == 0)            // judging each number if it is not a prime
            {
                flag = false;
            }
      }
      if (flag)
      {
            times += 1;             // if it is prime, counting
      } else {
            times = times;
            flag = true;   //return true so as to judge another number
      }
    }
    cout << "There are " << times << " primes in the " <<range<<'\n';
return 0;
}

superbe 发表于 2019-9-10 08:56:46

本帖最后由 superbe 于 2019-9-10 08:58 编辑

#include <iostream>

using namespace std;

int main() {
        bool flag = true;
        int a, b, i, j, times = 0;
        cout << "please enter a positive integer as the minimum:" << '\n';
        cin >> a;
        cout << "please enter a positive integer as the maximum:" << '\n';
        cin >> b;
        for (i = a; i <= b; i++)      // read the numbers from a to b
        {
                for (j = 2; j <= i / 2; j++)
                {
                        if (i % j == 0)            // judging each number if it is not a prime
                        {
                                flag = false;
                                break;      //添加这行
                        }
                }
                if (flag)
                {
                        times += 1;             // if it is prime, counting
                } else {
                        //times = times;      //去掉这行
                        flag = true;   //return true so as to judge another number
                }
        }
        cout << "There are " << times << " primes in the " << "range[" << a << "," << b << "].\n";

        return 0;
}

range是“范围”的意思,range表示"从a到b的范围",除了a,b原样输出就可以了。range加双引号就是按字符串输出,否则就被当作变量而前面确实没定义range这么个变量。
另外代码中有两处小修改(红色注释行),不改结果也没错,但是多做了无用功。

丶不离不弃 发表于 2019-9-10 09:40:32

superbe 发表于 2019-9-10 08:56
#include

using namespace std;


谢谢你啦!
页: [1]
查看完整版本: C++种的range如何用?