1

我正在尝试做一个完全对齐/左右对齐给定字符串的程序。我已经做了一部分,您知道字符串中的单词之间需要多少个空格,但我不知道如何在单词之间添加或插入这些空格。

4

3 回答 3

0

你可以

计算每行有多少个单词

将数字空格除以单词数,现在我们知道平均每个单词需要添加多少空格

对于字符串中的每个单词,单词 += [空格数]

于 2014-03-04T22:04:05.207 回答
0

进行传播的一个简单算法是

for (int i=0; i<num_words-1; i++) {
    int s0 = i * extra_spaces / (num_words - 1);
    int s1 = (i + 1) * extra_spaces / (num_words - 1);
    // add (s1 - s0) spaces between word[i] and word [i+1]
}
于 2014-03-04T22:06:25.337 回答
0

查找字符串的长度 - sl

计算空格数 - n

计算l与线长之差-ll

计算每个空间的宽度 - w

 w=(ll-sl)/n

一次打印一个单词,当有空格时按 w 前进。

于 2018-02-05T22:27:59.780 回答