首页 > 代码库 > c程序设计语言第一章5

c程序设计语言第一章5

练习1.20请编写程序d e t a b??将输入中的制表符替换成适当数目的空格,使空格充满到下一个制
表符终止的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #define TABBLANK 8//tab 增加的尺寸
 4 int main()
 5 {
 6     int c;
 7     int nb=0;//记录空格数目
 8     int pos=1;//记录当前所在位置
 9     while((c=getchar())!=EOF)
10     {
11         if(c==\t)
12         {
13             nb=TABBLANK-(pos-1)%TABBLANK;//所需空格的数目
14             while(nb>0)
15             {
16                 putchar(M);
17                 ++pos;
18                 --nb;
19             }
20         }
21         else
22         {
23             if(c==\n)
24             {
25                 putchar(c);
26                 pos=1;
27             }
28             else
29             {
30                 putchar(c);
31                 ++pos;
32             }
33         }
34     }
35     return 0;
36 }

运行结果:

(说明:为了更清晰的显示效果,这里使用字母M代替空格)