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

练习1-12  编写一个程序,以每行一个单词的行驶打印其输入。

代码如下:

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

int main()    //    定义名为main的函数,它不接受参数值。
{
    printf("======将输入的字符以每行一个单词的行驶打印其输出======
");

    int c, cp;

    while ((c = getchar()) != EOF)
    {
        //    判断输入的字符如果是空格或者制表符,说明单词键入完毕。
        if (c == ' ' || c == '	') 
        {
            //    这里判断是否换行,如果上一次输入的字符还是空格或者制表符,则不换行。
            if (cp != ' ' && cp != '	')
            {
                printf("
");
            }
        }
        else putchar(c);
        //    将本次输入的字符存放到变量cp中,留作下次判断,作用为去除连续的空格和制表符。
        cp = c;
    }

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

个人理解:

该练习使用到了1-9中的算法,用于取出连续的空格或制表符。

并用if-else判断后进行输出。

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