-2
void __fastcall TForm1::Step(int _Sum, int _Num, int _Val)
{
    if (_Sum <= 0 || _Num <= 0 || _Sum < _Val) return;
    if (_Num == 1)
    {
        data[theK - 1] = _Sum;
        Memo1->Lines->Add("{");
        for (int i = 0; i < theK; ++i)
            Memo1->Lines->Add(data[i]);
        sc++;
        Memo1->Lines->Add("}");
        Memo1->Lines->Add("\n");
        Label4->Caption = sc;
        return;
    }
    for (int i = _Val; i < _Sum; ++i)
    {
        data[theK - _Num] = i;
        Step(_Sum - i, _Num - 1, i);
    }
}

我有这样的输出:

1
2
3
4

5
6
7
8

9
10
11
12

但我需要像这样的输出:

1,2,3,4
5,6,7,8
9,10,11,12

如何在 C++ Builder 中做到这一点?我有备忘录 1 或列表框。我需要格式化输出。

4

1 回答 1

1

我通常为每一行输出构建一个 UnicodeString,如下所示:

UnicodeString Str;
for (int I =0; I<5;i++)
{
  Str += IntToStr(I)+","
};
Str.SetLength(Str.Length -1);  // trim off last comma
Memo1->Add(Str);
于 2014-09-14T19:02:02.473 回答