首页 > 代码库 > C语言练习1_21
C语言练习1_21
1 // 编写程序entab,将空格串替换为最少数量的制表符和空格。但要保持单词之间的间隔不变。假设制表符终止位的位置与练习1-20的detab程序的情况相同。当使用一个制表符或者一个空格都可以到达下一个制表符终止位时,选中哪一种替换字符比较好? 2 3 #include <stdio.h> 4 5 #define TABINC 8 6 7 int main() 8 { 9 int nb, nt, c, position; 10 nb = nt = 0; 11 for (position = 1; (c = getchar()) != EOF; ++position) { 12 if (c ==‘ ‘) { 13 if (position % TABINC != 0) 14 ++nb; 15 else { 16 ++nt; 17 nb = 0; 18 } 19 } else { 20 for ( ; nt > 0; --nt) 21 putchar(‘\t‘); 22 if (c == ‘\t‘) 23 nb = 0; 24 else 25 for ( ; nb > 0; --nb) { 26 putchar(‘ ‘); 27 } 28 putchar(c); 29 if (c == ‘\n‘) 30 position = 0; 31 else if (c == ‘\t‘) 32 position += TABINC - (position - 1) % TABINC - 1; 33 } 34 } 35 36 return 0; 37 }
C语言练习1_21
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。