C程序设计语言练习题1-9

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

代码如下:

#include <stdio.h>    //    包含标准库的信息。

int main()    //    定义名为main的函数,它不接受参数值。
{
    printf("======将输入的多个空格用一个空格代替======
");

    int c, space;
    while ((c = getchar()) != EOF)
    {
        if (c != ' ') putchar(c);    //    若输入的字符不是空格,则输出。
        else
        {
            //    若输入的是空格,则查看上一次输入的字符是否是空格,如果不是则输出。
            if (space != ' ') putchar(c);
        }
        //    这里是将本次输入保存到space变量中。在下一次循环时作为上次输入进行验证。
        space = c;
    }

    getch();    //    防止控制台一闪而过,需要接受任意字符后在关闭控制台。
    return 0;    //    向执行环境返回一个整形,0代表执行成功。
}

个人理解:

该练习主要是记录上一次输入的字符,通过if-else判断若字符是空格,并且上一次输入的也是空格,则不显示该字符。

原文地址:https://www.cnblogs.com/DeadGardens/p/4777064.html