您的位置:首页 > 其它

练习1-21 编写程序entab,将空格串替换成最少数量的制表符和空格,但要保持单词之间的间隔不变。假设制表符终止位的位置与练习1-20的detab程序的情况相同。当使用一个制表符或者一个空格都可以到达下一个制表符终止位时,选用哪种替换字符比较好。

2013-10-25 20:57 1996 查看
制表符终止位,不太懂这个东西.google得知是空格代替制表符

#include <stdio.h>
#define TABINC 8

main()
{
int c, nb, nt, pos;
nb = 0;
nt = 0;
for(pos = 1; (c = getchar()) != EOF; ++pos)
if(c == ' ')
{
if(pos % TABINC != 0)
++nb;
else
{
nb = 0;
++nt;
}
}else
{
for( ; nt > 0; --nt)
putchar('\t');
if(c == '\t')
nb = 0;
else
for( ; nb > 0; --nb)
putchar(' ');
putchar(c);
if(c == '\n')
pos = 0;
else if (c == '\t')
pos = pos + (TABINC - (pos - 1) % TABINC) - 1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐