练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格.

时间:2023-01-06 00:22:58

1.问题描述

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

  假设制表符终止位的位置是固定的, 换句话说每隔n列就会出现一个制表符终止位.
2.描述

  自己讲问题读了很多遍,没有懂什么意思.后来百度制表符,才明白其中意思

  制表符:制表符(也叫制表位)的功能是在不使用表格的情况下在垂直方向按列对齐文本。

  明白了什么是制表符,问题也轻松解决了.

3.代码

 /**
* 编写程序detab,将输入中的制表符替换成数目的空格,
* 使空格充满到下一个制表符终止位的地方.
* 制表符:制表符(也叫制表位)的功能是在不使用表格的情况下在垂直方向按列对齐文本。
* 2018-4-9
* Author:TriompheL
*/ #include <stdio.h> #define NUMTAB 8 int main()
{
/*
* blankNum : 将要输出的空格数目
* listNum: 每行第一个字符开始,当前字符位置.
*/
int c,listNum=,blankNum,i; while( (c=getchar()) != EOF){
if(c == '\t'){
blankNum = NUMTAB - (listNum % NUMTAB);
for(i = ;i < blankNum; i++){
putchar(' ');
}
listNum += blankNum;
}
else if(c == '\n'){
listNum = ;
putchar(c);
}
else{
listNum++;
putchar(c);
}
} return ;
}

4.结果

  因为dos的制表符是8位,所以自己也定义了八位.输出如下

练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格.

   

练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格.的更多相关文章

  1. python3编写程序,根据输入的行列数值,生成相应的矩阵(其中元素为随机数)。

    代码如下: import random n = int(input("请输入行:")) m = int(input("请输入列:")) x = y = 0 wh ...

  2. 练习1-13:编写一个程序,打印输入中单词长度的直方图(水平)(C程序设计语言 第2版)

    简单未考虑标点符号 #include <stdio.h> #define MAX_WORD_LEN 10 #define BLANK 0 #define IN_WORD 1 #define ...

  3. 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓&OpenCurlyDoubleQuote;单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式&colon; 输入给出一行字符。 输出格式&colon; 在一行中输出单词个数。 输入样例&colon; Let&&num;39&semi;s go to room 209&period; 输出样例&colon; 5

    MD,一开始就想着怎么 用空格和结尾前判断字母 来计算写的头的爆了, 反过来判断空格后面是否有 =‘ ’就尼玛容易多了 #include<stdio.h> #include<stdl ...

  4. 编写程序输入一个5x5的矩阵&comma;将最大元素与中心元素交换&comma;并按行列对齐输出。

    编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 题目描述 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出. 输入描述 编写程序输入一个5x5的矩阵 ...

  5. 编写程序,输入一个N,返回角谷变换(达到1所需)的次数

    import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 17:36 * @description ...

  6. Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。

    返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...

  7. Java初学者作业——编写 Java 程序,用户输入 3 个操作数,分别求出最大值、最小值和平均值。

    返回本章节 返回作业目录 需求说明: 编写 Java 程序,用户输入 3 个操作数,分别求出最大值.最小值和平均值. 实现思路: 定义 Java 类,定义 3 个方法,用来求 3 个数字的最大值.最小 ...

  8. 编写Java程序,判断输入的三条长度的边,是否能构成三角形

    需求说明: 编写Java程序,判断输入的三条长度的边,是否能构成三角形. (三角形第三边大于两边之和小于两边之差) 实现代码: package test; import java.util.Scann ...

  9. 关于mpi的理论知识以及编写程序来实现数据积分中的梯形积分法。

    几乎所有人的第一个程序是从“hello,world”程序开始学习的 #include "mpi.h" #include <stdio.h> int main(int a ...

随机推荐

  1. Python爬虫学习(10):Selenium的好基友PhantomJS

    上一节中我们学习了selenium,用python来操作浏览器,在做网页自动化测试的时候最好不过了 .如果我们来做爬虫用一个带界面的浏览器似乎不太好吧,那可咋办呢?别着急,下来我们要介绍的就是一款不带 ...

  2. Java基础之在窗口中绘图——移动曲线的控制点(CurveApplet 3 moving the control points)

    Applet程序. import javax.swing.*; import java.awt.*; import java.awt.geom.*; import javax.swing.event. ...

  3. 用dom操作替代正则表达式

    在B/S结构客户端越来越“胖”的今天,作为一名全端程序员,您很可能会在前端操作html字符串,注意,是操作html字符串,不是操作当前页面的html. 举个例子,百度推出的在线HTML富文本编辑器Ue ...

  4. Linux cat命令参数及使用方法详解

    cat是Linux系统下用来查看文件连续内容用的指令,字面上的含意是“concatenate”(连续)的缩写.除了用来作为显示文件内容外,cat指令也可用于标准流上的处理,如将显示的信息转入或附加另一 ...

  5. Minix3信号处理分析

    进程的信号处理的相关结构 PM中存放着所有进程的进程描述符,在一个进程描述符中,有一个指针,指向一个sigaction结构二维数组中的一项,表示这个进程所有信号的操作.一个sigaction结构包含信 ...

  6. Java Web 高性能开发,第 3 部分&colon; 网站优化实战

    这个系列的前两篇,介绍了前端的优化技术,这些技术秉承了前人至高无上的智慧,我只是负责吸收和传播.然而,这些技术一般也都是某某大型网站的技术经验,我们大部分人或许只能接触到相对小规模的网站,小规模的网站 ...

  7. js中获取当前页面的url

    在js中可以通过下面的方式获取当前页面url的相关信息 var item = window.location // 返回的是对象, 这个对象里有各种关于url的信息 var url = window. ...

  8. 希尔排序之python

    希尔排序( Shell sort) 插入排序的改进版本,其核心思想是将原数据集合分割成若干个子序列,然后再对子序列分别进行直接插入排序,使子序列基本有序,最后再对全体记录进行一次直接插入排序. 我的面 ...

  9. Code Signal&lowbar;练习题&lowbar;reverseParentheses

    You have a string s that consists of English letters, punctuation marks, whitespace characters, and ...

  10. Scala2&period;10&period;4在CentOS7中的安装与配置

    随着基于内存的大数据计算框架——spark的火爆流行,用于编写spark内核的Scala语言也随之流行开来.由于其编写代码的简洁性,受到了越来越多程序员的喜爱.我今天给大家展示的时Scala2.10. ...