文档章节

C语言合并连续空格

好铁
 好铁
发布于 2014/09/02 10:07
字数 160
阅读 154
收藏 1
C
一开始自己写的:
a:
#include<stdio.h>
main()
{
    int c;
    int state=0;
    while (( c=getchar()) != EOF) {
        if (c==' '){
            state=1;
            continue;
        }
        if (state){
            state=0;
            putchar(' ');
            putchar(c);
        }else
            putchar(c);
    }
}



网上搜的:
b:
#include <stdio.h>

#define NONBLANK 'a'

void main()
{
    int c , lastc;

    lastc = NONBLANK;
    while((c = getchar()) != EOF)
    {
        if(c != ' ')
            putchar(c);
        else if(lastc != ' ')
            putchar(c);
        lastc = c;
    }
}



c:
#include <stdio.h>

int main(void)
{
  int c;
  int inspace;

  inspace = 0;
  while((c = getchar()) != EOF)
  {
    if(c == ' ')
    {
      if(inspace == 0)
      {
        inspace = 1;
        putchar(c);
      }
    }

    if(c != ' ')
    {
      inspace = 0;
      putchar(c);
    }
  }

  return 0;
}



看起来b方法比较酷 .

方法b中的这句:
else if(lastc != ' ')
            putchar(c);



将putchar的参数改为'\n',程序的功能就变为以每行一个单词的形式打印输入。

© 著作权归作者所有

好铁
粉丝 38
博文 267
码字总数 78926
作品 0
朝阳
程序员
私信 提问
C语言深度解剖(第二章-符号读书笔记)

2.1 注释符号 c语言注释有两种:/…/和//, 其中:/…/编译器剔除注释代码时会将/…/变为空格。 特别注意:/…/这种注释不能嵌套,/总是与离它最近的/匹配 2.2 连续符和转义符 C语言里以反斜杠...

triorwy
2018/02/14
0
0
[从C到C++] 1.5 C+的输入与输出

在C语言中,通常会在采用格式化输入输出函数printf和scanf用于输入或输出数据或信息。在C++语言中,C语言的这一套输入输出库我们仍能使用,但是C++语言又自定义了一套新的、更容易使用的输入...

wu_being
2017/12/28
0
0
C文件的编译、链接和运行指令

生成C语言文件:touch 文件名.c 编译:把C语言翻译成计算机可以识别的语言(0或1),指令为cc -c 文件名.c 链接:把.o目标文件跟系统自带的函数库合并成一个可执行文件,指令为:cc 文件名.o ...

JlongTian
2016/12/24
4
0
C 语言的 scanf函数

C语言的scanf函数 一、变量的内存分析 (一)字节与地址 ①. 内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节。整个内存相当于一整个酒店,而酒店以房间为单位,在这...

DevShaw
2015/12/18
11
0
C语言strcpy报segmentation fault

Hello,谁帮我看看下面的程序出错在哪里,为什么错了?想了半天也没想出来. deblank的作用是去除字符串中多余的空格(连续的空格替换成一个).谢谢! 结果: 环境 gcc version 4.6.3 (Ubuntu/Linaro...

cyper
2015/04/17
899
8

没有更多内容

加载失败,请刷新页面

加载更多

基础工具类

package com.atguigu.util;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import com.alibaba.druid......

architect刘源源
今天
43
0
P30 Pro劲敌!DxO官宣新机:排行榜又要变

5月26日晚间,DxOMark官方推特预告,将在5月27日公布一款新机型的DxOMark评分,猜猜是哪款? 网友猜想的机型有:红米K20、谷歌Pixel 3a、索尼Xperia 1、诺基亚9 PureView等。 DxOMark即将公布...

linux-tao
昨天
15
0
Ubuntu18.04.2窗口过小不能自适应(二次转载)

解决Ubuntu在虚拟机窗口不能自适应 2018年09月06日 16:20:08 起不了名儿 阅读数 855 此博文转载:https://blog.csdn.net/nuddlle/article/details/77994080(原地址) 试了很多办法这个好用 ...

tahiti_aa
昨天
2
0
死磕 java同步系列之CountDownLatch源码解析

问题 (1)CountDownLatch是什么? (2)CountDownLatch具有哪些特性? (3)CountDownLatch通常运用在什么场景中? (4)CountDownLatch的初始次数是否可以调整? 简介 CountDownLatch,可以...

彤哥读源码
昨天
6
0
Nginx提供下载apk服务

有时候我们可能需要提供文件或者其他apk下载链接,通过 nginx 配置可以很简单地实现。 server {    listen 80;    server_name download.xxx.com;    root app;    locati...

Jack088
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部