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. C#编写程序,计算数组中奇数之和和偶数之和

    编写程序,计算数组中奇数之和和偶数之和. 代码: using System; using System.Collections.Generic; using System.Linq; using Sy ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. python支持的进程与线程

    一.multiprocessing模块介绍 python中的多线程无法利用CPU资源,在python中大部分情况使用多进程.python中提供了非常好的多进程包multiprocessing. mul ...

  2. C#=>递归反转栈

    原理,递归反转栈 using System; using System.Collections.Generic; using System.Linq; using System.Threading.T ...

  3. Markdown列表中嵌套代码带来的问题

    目录 1.问题描述 2.原因查找 3.问题解决 使用Markdown时,在有序列表中嵌套代码块引发了有序列表编号中断(重新从1开始)的问题,最终已解决. 1.问题描述 代码: 1. title tex ...

  4. Excel 技巧

    <!-- Excel跳转到指定行指定列 --> =HYPERLINK("#"&ADDRESS(要跳转到的行数,要跳转到的列数),"跳转")

  5. activity知识点

    一:activity的理解 1.活动:四大应用组件之一 2.作用:提供能让用户操作并与之交互的界面 3.组件的特点: 它的类必须实现特定接口或继承特定类 需要在配置文件中配置全类名 它的对象不是通过n ...

  6. bfs(最短路径)

    链接:https://ac.nowcoder.com/acm/contest/993/F来源:牛客网 Farmer John is leaving his house promptly at 6 AM ...

  7. pandas分组聚合案例

    美国2012年总统候选人政治献金数据分析 导入包 import numpy as np import pandas as pd from pandas import Series,DataFrame ...

  8. SQL 查询中not in 与 not exists 的区别

    1.in和exists in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的.如果查询的两个表 ...

  9. nginx的4层负载均衡配置

    前言:所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡. 换句换说,二层负载均衡会通过一个虚拟MAC地 ...

  10. 安装weblogic界面安装

    如果中间有任何问题请联系作者:291562721 界面安装weblogic首先 需要工具: 链接:https://pan.baidu.com/s/1x3uYxsnycjT2Xi2TOTbDdQ 提取码 ...