2015-10-17 160 views
-3

如何通过每行放置所需数量的字符(包括空格)来创建字符串的左右对齐打印输出。C中字符串的对齐方式

例如,给定:

Hello world! And so on 

输出应该是:

Hello world! And so on 
+0

你在问怎么做[对齐对齐](https://en.wikipedia.org/wiki/Typographic_alignment#Justified)(在每行内部添加空格以使它们长度相同)? – interjay

回答

0

下面是一些你可以开始:

function strReplace(char str[]) { 
    char s[STR_LEN); 

    int i; 
    for(i = 0, j = 0; i < STR_LEN; ++i, ++j) { 
    if(str[i++] == ' ') s[j++] = '\t'; 
    s[j] = str[i]; 
    } 
} 

这是什么会做的是插入`\ t'转换为字符串而不是'',这反过来会加起来n个空格,并且每个字都会像网格一样形成。

+0

谢谢,它没有为我工作,但你的答案给我想法如何做到这一点 – user5457984

+0

x = skipedPlace; \t \t \t而(!skipedPlaces = 0) \t \t \t \t { \t \t \t \t的for(int i = 0,J = 0;我 user5457984