练习1-9 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
代码如下:
#include <stdio.h> // 包含标准库的信息。 int main() // 定义名为main的函数,它不接受参数值。 { printf("======将输入的多个空格用一个空格代替======\n"); 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判断若字符是空格,并且上一次输入的也是空格,则不显示该字符。
时间: 2024-11-09 00:19:30