// 删除文本中多余的空格,单词之间只保留一个空格,文本以'.'结尾(输出不包含'.')
#include <stdio.h>
int main()
{
char ch;//输入字符char
int last_was_space =1;//上一个输出字符为空格:last_was_space =0
//上一个输出字符不为空格:last_was_space =1
//初始设为 1,表示“上一个输出的是空格(开头的连续空格都会被忽略)
while (1) // 无限循环,遇到 '.' 时跳出
{
scanf("%c", &ch); // 逐个字符读入
// 放在循环内部,程序需要逐个字符地读取输入
if (ch == '.') //遇到.跳出循环
{
break;
}
if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) //输入字符为大小写字母
{
printf("%c", ch); // 直接输出字母
last_was_space = 0;//0 代表 “上一个输出的是字母”(不是空格)
}
else if (ch == ' ') //输入字符为空格
{
if (last_was_space == 0)
{
printf(" ");//输出空格
last_was_space = 1; //1 代表 “上一个输出的是空格”
}
}
}
return 0;
}