新手-The C programming language上的简单问题,求解!

问题描述

The C programming language上的简单问题,求解!

编写程序datab,将输入中的制表符替换适当数目的空格,使空格充满到下一个制表符终止位的地方。假设制表符终止位是固定的,每n列出现一个。

#include<stdio.h>

#define TABINC 8

void main()
{
    int c,nb,pos;

    nb=0;
    pos=1;
    while((c=getchar())!='EOF')
    {
        if(c=='t')
        {
            nb=TABINC-(pos-1)%TABINC;
            while(nb>0)
            {
                putchar(' ');
                ++pos;
                --nb;
            }
        }
        else if(c=='n')
        {
            putchar(c);
            pos=1;
        }
        else
        {
            putchar(c);
            ++pos;
        }
    }
}

根据配套的练习答案写的代码,但是结果显示这样:

解决方案

 t不应该输入为字面的t,而是应该输入一个tab符(q键左边)
好比n不是输入n,而是输入回车一样
时间: 2024-08-24 08:58:54

新手-The C programming language上的简单问题,求解!的相关文章

《The C Programming Language》读书笔记总结 &amp;lt;一&amp;gt;.基础篇

写了这么多年的C代码,回过头来再看<The C Programming Language>这本书,作者Brian W. Kernighan和C语言之父Dennis M. Ritchie.感觉里面的知识和书的架构给人非常"合理"的感觉.怎么个合理法呢? 首先书中的代码,如else-if中使用binsearch函数介绍二分查找.atoi介绍字符串s转换为整数.计算器逆波兰表达式,都是实际中非常经典且常用的知识: 然后书中大部分的程序都是基于stdlib.h.string.h.c

access新手来看:如何重复上一条记录?

access|重复 新手来看:如何重复上一条记录?   问题: 如何重复上一条记录? 有一个窗体,上面有多个文本框和组合框,因为目录这笔资料与下一笔资料大部门都是一样的,能不能利用COPY功能把上一笔的资料复制到下一笔的相对应的文本框和组合框内.最好是做成按钮式,即一个复制按钮和一个粘贴按钮.   方法一: 很多软件里面都有这个功能啊? 原理非常简单. 只要添加一个COMMAND BUTTON 就可以了. 添加记录的代码相信大家都知道了. Private Sub Command16_Click(

The C# Programming Language Notes

1,不彻底的abstract 即使是abstract class,也不能对实现的接口的某个成员视而不见,即下面这样是不允许的: interface in_one{ void A();} abstract class base_one : in_one{ } 这一点上还是Java方便,不管C#的初衷是什么 2,out参数与指针的指针 out子类不能转化为out基类,如果允许转换的化,将无法保证类型安全性:即out参数相当于指针的指针,而父类的指针与子类的指针是没有继承关系的,所以不能转化 (The

编程语言 c语言-新手求指教!用c语言 简单学生成绩统计软件 。万分感谢,编好发到邮箱425572938@.

问题描述 新手求指教!用c语言 简单学生成绩统计软件 .万分感谢,编好发到邮箱425572938@. 实现的任务: (1)每个学生记录中包含学号.姓名和C 语言课设成绩等信息: (2)创建学生记录链表: (3)更新学生记录(插入.排序.删除): (4)能统计各分数段的人数,并以分布图显示: (5)输出学生记录到屏幕. 设计内容: 1. 学生记录应该包括学号.姓名.C 语言课设成绩等信息,是本程序的核心数据结构,定 义如下: typedef struct { char num[11]; /*学号*

MapReduce:超大机群上的简单数据处理

MapReduce:超大机群上的简单数据处理                                           摘要MapReduce是一个编程模型,和处理,产生大数据集的相关实现.用户指定一个 map函数处理一个key/value对,从而产生中间的key/value对集.然后再指定一个reduce函数合并所有的具有相同中间key的中间 value.下面将列举许多可以用这个模型来表示的现实世界的工作.以这种方式写的程序能自动的在大规模的普通机器上实现并行化.这个运行时系统关心这

编程c语言-&amp;amp;lt;The c programming language&amp;amp;gt;Exercise-23答案求解释。

问题描述 <The c programming language>Exercise-23答案求解释. 本人新手,下面是rick的答案,不明白的是 if( line[t] == ' " ') in_quote = 1; if( ! in_quote ) { } else {} 作者是怎样确保下面的if在双引号' " '内还是在双引号外的,求大神帮助.原代码在下面. #include #define MAXLINE 1000 /* max input line size / c

代码分析-The Programming Language中的 代码问题

问题描述 The Programming Language中的 代码问题 在The Programming Language导言的1.5.4小节,有意额单词计数程序,为什么我敲出来之后输入字符串 然后再敲回车 没反应呢?代码跟书上的一样啊.代码如下,求助!!! #include #define IN 1 #define OUT 0 main() { int c,nl,nw,nc,state; state=OUT; nl=nw=nc=0; while((c=getchar())!=EOF) { +

让新手朋友能更好的理解简单的Hits算法

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   今天我们将介绍超链分析的颠峰之作:HillTop算法,作为现在Google现在最核心的排名算法之一,网上不乏大量介绍她的文献.本文侧重于原始算法的分析,不考虑过多复杂因素,让您更容易理解算法本质. HillTop算法集PageRank,HITs.相关性算法大成于一身,由康柏系统研究中心的Krishna Bharat和多伦多大学的George A.Mihaila在

Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门

说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. 本篇博客讲解: ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. 表单中的多选框参数接收. 文件的上传技术. ServletRequest : ServletRequest