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

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

      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;
        }
    
    }
  • 相关阅读:
    特征选择(1)
    sklearn.preprocessing.OneHotEncoder
    朴素贝叶斯算法
    机器学习中 生成式模型 VS 判别式模型
    PHP-FPM 多进程模型
    PHP动态模式和静态模式区别
    Nginx的异步非阻塞
    php并发控制 , 乐观锁
    什么是乐观锁,什么是悲观锁
    redis集群和哨兵的区别
  • 原文地址:https://www.cnblogs.com/wuzhenbo/p/2798029.html
Copyright © 2011-2022 走看看