【问题标题】:Don't include a comma after the last item in a printed list [duplicate]不要在打印列表中的最后一项之后包含逗号 [重复]
【发布时间】:2013-10-17 03:41:35
【问题描述】:

我有一个打印出来的数字列表:

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

【问题讨论】:

  • 请与我们分享您的代码...
  • 你是如何产生这些数字的?
  • 用剪刀剪掉?请发布一些代码。
  • 我推荐使用退格键。
  • 改为在除第一个以外的每个项目之前打印逗号。

标签: c++


【解决方案1】:

试试这个:

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

【讨论】:

  • 这看起来很棒。谢谢。
  • 很高兴为您提供帮助!没问题
【解决方案2】:

尝试检查数字是否是最后一个,例如:

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

【讨论】:

  • 已添加代码。不能使用数组。
  • 我写错了,已经改正了。
【解决方案3】:
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;
}

【讨论】:

    【解决方案4】:

    由于你总是输出 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;
    }
    

    【讨论】:

      猜你喜欢
      • 2014-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 2020-02-12
      • 2017-02-08
      • 1970-01-01
      • 2017-11-22
      相关资源
      最近更新 更多