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

    制表符终止位,不太懂这个东西.google得知是空格代替制表符

     1 #include <stdio.h>
     2 #define TABINC 8
     3 
     4 main()
     5 {
     6     int c, nb, nt, pos;
     7     nb = 0;
     8     nt = 0;
     9     for(pos = 1; (c = getchar()) != EOF; ++pos)
    10         if(c == ' ')
    11     {
    12         if(pos % TABINC != 0)
    13             ++nb;
    14         else
    15         {
    16             nb = 0;
    17             ++nt;
    18         }
    19     }else
    20     {
    21         for( ; nt > 0; --nt)
    22             putchar('	');
    23         if(c == '	')
    24             nb = 0;
    25         else
    26             for( ; nb > 0; --nb)
    27             putchar(' ');
    28         putchar(c);
    29         if(c == '
    ')
    30             pos = 0;
    31         else if (c == '	')
    32             pos = pos + (TABINC - (pos - 1) % TABINC) - 1;
    33     }
    34 }
  • 相关阅读:
    hibernate03增删改查
    hibernate02环境的搭建
    hibernate01ORM的引入
    20170623_oracle_优化与体系结构
    20170626_oracle_数据库设计
    logging模块
    hashlib模块
    json和pickle模块
    sys模块
    os模块
  • 原文地址:https://www.cnblogs.com/jango/p/3388574.html
Copyright © 2011-2022 走看看