如何在输出中用逗号分隔数字?
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 ;
}
}
我想在给定范围内找到质数。 输出数字必须用逗号分隔。
#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 ;
}
}