将连续空格合并为一个空格输出--利用计数or标志来完成--提供了两种方法
#include<stdio.h>
void main(){
int blankNum=0;
char ch;
while((ch=getchar())!=EOF){
if(ch==' '){
blankNum++;
if(blankNum<=1){
putchar(ch);
}else{
continue;
}
}
else{
putchar(ch);
blankNum=0;
}
}
}
#include<stdio.h>
#define NOBLANK 'a'
void main(){
char lastc,ch;
lastc=NOBLANK;//防止字符串开头输入一串空格,无法处理
while((ch=getchar())!=EOF){
if(ch!=' '){
putchar(ch);//不为空格,输出
}
if(ch==' '){//输入为空格,继续判断上一次输入字符是否为空格
if(lastc!=' '){// 若上一次输入不为空格,就输出一个空格
putchar(ch);//若上一次输入是空格,不做处理
}
}
lastc=ch;//记录上一次的输入的字符
}
}