• 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。


      当前输入字符可以分为两种情况:

      1、当前输入字符不为空,则直接输出这个字符即可;

      2、当前输入字符为空,这种情况又可以分为两种情况:

      ①、上一个输入字符也为空,则忽略此次输入的空格即可;

      ②、上一个输入字符不为空,则直接输出这个字符即可。

     基本思想是:
      设置两个变量,分别记录当前输入的字符和上一次输入的字符,“上一个字符”初始化为EOF。
      如果当前输入字符为空,上一个输入字符也为空,则忽略当前输入的字符。

    View Code
    #include <stdio.h>
    
    
    main()
    {
        int c, pc;    /* c = character, pr = previous character */
    
        /* set pc to a value that wouldn't match any character, in case
        this program is over modified to get rid of multiples of other
        characters */
        pc = EOF;
    
        while ((c = getchar()) != EOF)
        {
            if (c == ' ')
                if (pc != c)    /* or if (pc != ' ') */
                    putchar(c);
            /* We haven't met 'else' yet, so we have to be a little clumey */
            if (c != ' ')
                putchar(c);
            pc = c;
        }
    }
    View Code
    #include <stdio.h>
    
    main()
    {
        int c;    /* 用于存放当前输入的字符 */
        int pc;    /* 用于存放当前输入的上一个字符 */
        
        while((c = getchar()) != EOF)
        {
            if (c != ' ')
            {
                putchar(c);
            }
            else if (pc != ' ')
            {
                putchar(c);
            }
    
            pc = c;
        }
    
    }
  • 相关阅读:
    Python 编码转换与中文处理
    odoo 基本知识
    odoo xml 时间搜索条件
    在Ubuntu Kylin 16.04 LTS 上源码方式安装odoo
    安装hive
    linux中不同颜色的文件代表什么不同的类型
    PDF神器
    网盘搜索网站
    搭建Hadoop的全分布模式
    虚拟机中操作系统的克隆方法及ip修改及硬件地址修改
  • 原文地址:https://www.cnblogs.com/wuzhenbo/p/2798029.html
Copyright © 2020-2023  润新知