您的位置:首页 > 编程语言 > C语言/C++

第7周 C语言程序设计(新2版) 练习1-21 空格串替换为最小数目的空格和制表符

2016-05-13 07:54 411 查看
问题及答案:

/*空格串替换为最小数目的空格和制表符*/
#include<stdio.h>
#define TABINC 8  //   每隔TABINC个位置就会出现一个制表符
/*程序设计思想找出全部空格*/
int main()
{
int c,nb,nt,pos;

nb=0;   //替换空格串的最少空格数
nt=0;   //替换空格串的最少制表符数
for(pos=1;(c=getchar())!=EOF;pos++)
if(c==' ')
{
if(pos%TABINC!=0)  //如何理解
nb++;
else
{
nb=0;
nt++;
}
}
else
{
for(;nt>0;nt--)
putchar('\t');
if(c=='\t')
nb=0;
else
for(;nb>0;nb--)
putchar(' ');
putchar(c);
if(c=='\n')
pos=0;
else if(c=='\t')
pos=pos+(TABINC-(pos-1)%TABINC-1);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: