我正在尝试做一个完全证明/左右对齐给定字符串的程序。我已经创建了一个部分,你知道字符串中的单词之间需要有多少空格,但我没有得到的是如何在单词之间添加或插入这些空格。
答案 0 :(得分:0)
你可以
计算每行的单词数
将数字空格除以单词数,现在我们知道平均每个单词需要添加多少空格
对于字符串中的每个单词,单词+ = [空格数]
答案 1 :(得分: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]
}
答案 2 :(得分:0)
找到字符串的长度 - sl
计算空格数 - n
计算l与行长度之间的差值 - ll
计算每个空间的宽度 - w
w=(ll-sl)/n
一次打印一个字符串,当你有空格时按w前进。