the c programing language 练习1-21 将空格字符替换为最少数量的制表符和空格
2015-01-28 00:15
309 查看
/* * K&R2 1-21 * Author: Donmmi * Email:teddy_liu@live.com */ #include <stdio.h> /* 4 spaces to a tab */ #define NTAB 4 int main(void) { /* * len is the nums of input charactor * if (c == ' ' && len % NTAB == 0) translate the space(s) to tab */ int c, len, nspace, flag; len = nspace = flag = 0; while ((c = getchar()) != EOF) { ++len; if (c == ' ') { if (len % NTAB == 0) { /* space(s) translate to tab */ if (flag == 0) putchar('\t'); flag = 1; nspace = 0; } else ++nspace; } else { /* * If the next charactor is not space and can't translate to tab * then output saved space and the charactor */ while (nspace) { putchar(' '); --nspace; } putchar(c); if (c == '\n') len = 0; flag = 0; } } return 0; }
记录字符个数len,和连续空格个数nspace
如果下个字符不为空格则输出之前保存的空格和非空格字符
如果下个字符为空格,根据len%NTAB判断是否可以将空格转换为tab
相关文章推荐
- 练习1-21 编写程序entab,将空格串替换成最少数量的制表符和空格,但要保持单词之间的间隔不变。假设制表符终止位的位置与练习1-20的detab程序的情况相同。当使用一个制表符或者一个空格都可以到达下一个制表符终止位时,选用哪种替换字符比较好。
- 练习 1-21 将空格串替换为最少数量的制表符和空格
- 练习1-21:编写程序entab,将空格串替换为最少数量的制表符和空格。。。(C程序设计语言 第2版)
- 将输入的空格串替换为最少数量的制表符和空格。
- 空格串替换为最少数量的制表符和空格
- 第7周 C语言程序设计(新2版) 练习1-21 空格串替换为最小数目的空格和制表符
- 【制表符和空格的转换】The C Programming Language 程序研究 第一部分第二章
- the c programing language 练习1-17
- 练习1-20:请编写程序detab,将输入中的制表符替换成适当数目的空格,适空格充满到下一个制表符中止的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位。n应该作为变量还是符号常量呢?
- 每天一个算法练习之字符空格替换
- 练习 1-20 编写程序 detab,将输入中的制表符替换成适当数目的空格,使空格充满到 下一个制表符终止位的地方。
- SQL Server中特色字符、空格等的替换操作
- 再读《The C Programming Language》 - 第一章 1.5 字符输入输出
- 再读《The C Programming Language》 第二章 2.4 练习汇总
- java 将一个句子的多个空格变成想要替换的字符
- sql替换字符 空格 回车
- read读取文件中一行将制表符\t替换成空格 的解决办法
- The C programing language K&R 笔记
- 编些程序detaba,将输入中的制表符替换为适当数目的空格,使空格充满到下一个制表符终止位的地方