#include<stdio.h>
#define MAXSIZE 10000 //允许存储的最大长度
/* 输入复制到输出,并将连续的多个空格用一个空格代替 */
int space_compression(char s[]);
int main(void)
{
char str[MAXSIZE] = {0};
int i = 0, c;
freopen("C:\\\\Users\\wwwzh\\Desktop\\data.in", "r", stdin);
freopen("C:\\\\Users\\wwwzh\\Desktop\\data.out", "w", stdout);
while ((c = getchar()) != EOF && i < MAXSIZE - 1)
{
str[i] = c;
i++;
}
if (i == MAXSIZE - 1)
{
printf("error\n");
return 0;
}
space_compression(str);
printf("%s", str);
return 0;
}
/* 空格压缩 */
int space_compression(char s[])
{
int i = 0;
while (s[i] != '\0')
{
if (s[i] == ' ')
{
int copy_e = i + 1; //复制起始位置
int copy_f = i + 1; //复制结束位置
while (s[copy_e] == ' ')
copy_e++;
while (s[copy_e] != '\0')
{
s[copy_f] = s[copy_e];
copy_e++;
copy_f++;
}
s[copy_f] = s[copy_e];
}
i++;
}
return 0;
}
/*
s s s s s
s s s s
s s s
s s
*/