练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方

原创 2016年05月31日 15:18:26

制表符补足8个字符,或说每隔8列就会出现一个制表符终止位,例如:

aaaaaaaaa
aaa     a
aa      a

使用pos变量的原因是看需要补足几个字符。

#include <stdio.h>
#define TABINC 8

main()
{
    int c,nb,pos;
    nb=0;
    pos=1;
    while((c=getchar())!=EOF){
        if(c=='\t'){
            nb=TABINC-(pos-1)%TABINC;
            while(nb>0){
                putchar(' ');
                ++pos;
                --nb;
            }
        }
        else if(c=='\n'){
            putchar(c);
            pos=1;
        }
        else{
            putchar(c);
            ++pos;
        }
    }
}

编写程序detab,将输入中的制表符换成适当数目的空格

#include #define TABINC    5 main() {     int c, nb, pos;     nb = 0;     pos = 1;     wh...
  • u012323667
  • u012323667
  • 2016年08月28日 10:48
  • 795

将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方

     源自《The C Programming Language》P25 pr1-20:     编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方。假...
  • roma823
  • roma823
  • 2011年04月22日 10:19
  • 3582

将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方

#include #define  TABINC  8 //定义每个TABINC(8)个位置会出现一个制表位 int main() {     int c, nb, pos;     nb...
  • ilyfeng1314
  • ilyfeng1314
  • 2011年08月19日 14:03
  • 3455

编些程序detaba,将输入中的制表符替换为适当数目的空格,使空格充满到下一个制表符终止位的地方

//编些程序detaba,将输入中的制表符替换为适当数目的空格,使空格充满到下一个制表符终止位的地方。 //假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位 #include ...
  • zhangchao3322218
  • zhangchao3322218
  • 2011年09月14日 09:46
  • 1166

书本上的detab函数

#include #define TABINC 15 int main() { int c,nb,pos; nb=0; pos=1; while((c=getchar())!='%') {...
  • leafinsnowfield
  • leafinsnowfield
  • 2014年12月13日 19:46
  • 250

练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方

制表符补足8个字符,例如:aaaaaaaaa aaa a aa a使用pos变量的原因是看需要补足几个字符。#include #define TABINC 8main() { ...
  • Civil_CHOW
  • Civil_CHOW
  • 2016年05月31日 15:18
  • 455

练习5-12 对程序entab和detab的功能做一些扩充,以接受下列缩写的命令:entab -m +n表示制表符从第m列开始,每隔n列停止

这里写代码片
  • Civil_CHOW
  • Civil_CHOW
  • 2016年07月11日 23:36
  • 345

将输入的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。

#include #include #include //最大缓冲区1024 #define MAX_BUFFER 1024 #define SPACE ' ' #define ...
  • lizhidefengzi
  • lizhidefengzi
  • 2016年11月22日 23:52
  • 350

练习1-21 编写程序entab,将空格串替换为最少数量的制表符和空格,但要保持单词之间的间隔不变

每8位,若空格填满8位,则用制表符替换;若空格不满8位,则用空格替换,一次性替换满空格。若遇制表符,位置pos要向前TABINC-(pos-1)%TABINC-1位;若遇换行符,pos要置零(for循...
  • Civil_CHOW
  • Civil_CHOW
  • 2016年05月31日 16:55
  • 1059

c语言中制表符的输出问题

制表符的作用是将光标移到最接近8的倍数的位置,使得后面的输出从此开始。换句话说,如果所有数据都紧跟在制表符后面输出,则这些数据只能从第9列、第17列、第25列......开始。 如果已经到了第1、2...
  • fayecy
  • fayecy
  • 2014年12月24日 00:30
  • 2019
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方
举报原因:
原因补充:

(最多只允许输入30个字)