我有一个打印的数字列表:
1:1、2
:
1、2、3:1、3、
我如何不在每一行包含最后一个逗号?
for ( int i = 1; i <= x; ++i )
{
cout << i << ": ";
for ( int j = 1; j <= i; ++j )
{
if ( i % j == 0 )
{
cout << j << ", ";
}
}
cout << endl;
}
我有一个打印的数字列表:
1:1、2
:
1、2、3:1、3、
我如何不在每一行包含最后一个逗号?
for ( int i = 1; i <= x; ++i )
{
cout << i << ": ";
for ( int j = 1; j <= i; ++j )
{
if ( i % j == 0 )
{
cout << j << ", ";
}
}
cout << endl;
}
尝试这个:
for ( int i = 1; i <= x; ++i )
{
cout << i << ": ";
for ( int j = 1; j <= i; ++j )
{
if (i==j) {
cout << j;
} else if ( i % j == 0 ) {
cout << j << ", ";
}
}
cout << endl;
}
尝试检查 number 是否是最后一个,例如:
for (int i = 1; i <= x; i++)
{
cout << i << ": ";
for (int j = 1; j <= i; j++)
if (!(i % j))
{
if (j != i)
cout << j << ", ";
else
cout << j << endl;
}
}
for ( int i = 1; i <= x; ++i )
{
cout << i << ": ";
for ( int j = 1; j <= i; ++j )
{
if ( i % j == 0 )
{
cout << j;
if (i != j) {
cout << ", ";
}
}
}
cout << endl;
}
由于您总是输出 1,因此从 2 开始检查
for ( int i = 1; i <= x; ++i )
{
cout << i << ": 1";
for ( int j = 2; j <= i; ++j )
{
if ( i % j == 0 )
{
cout << ", " << j;
}
}
cout << endl;
}
或者,您可以使用分隔符
for ( int i = 1; i <= x; ++i )
{
char sep = ':'
cout << i;
for ( int j = 1; j <= i; ++j )
{
if ( i % j == 0 )
{
cout << sep << " " << j;
sep = ',';
}
}
cout << endl;
}