如何在输出中用逗号分隔数字?

How to separated numbers by a comma in output?

我想在给定范围内找到质数。 输出数字必须用逗号分隔。

#include <iostream>
using namespace std;

int main() 
{
int i,j,lower, upper;
cin >> lower;
cin >> upper;
for (i = lower + 1; i < upper; i++)
{
    for  (j = 2; j < i; j++)
    {
        if (i % j == 0)
        {
            break;
        }
    }
        if (j == i)
        {
        cout << i ;
        cout << ",";
        }
   }
  }

输入:11 20

输出必须是:13,17,19

但我的代码打印了 一个额外的逗号,它不只是在数字 之间。你能帮帮我吗?!

您可以将结果存储在向量中,而不是立即打印结果,这样您就可以确切地知道要打印多少个数字。然后你以这种方式打印你的矢量:

std::vector result;
std::string output = "";

for (size_t i = 0; i < result.size(); ++i) // Notice the ++i, not i++
{
  if (i != 0)
    output += ", ";
  output += result[i];
}

如果您不想将结果存储在向量中,您可以定义一个布尔值 firstResult 如果您还没有打印昏迷则为 true,然后在打印第一个结果,然后在数字前打印昏迷。

int main() 
{
   bool firstResult = true;

   [...]

   if (j == i)
   {
      if (!firstResult)
         cout << ",";
      firstResult = false;
      cout << i ;
   }
}