Problem F: 删出多余的空格
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 375 Solved: 217
[ Submit][ Status][ Web Board]
Description
小平在给弟弟检查英语作业时时,发现每个英语句子单词之间的空格个数不等,请你编程帮他把句子中多余的空格去掉,使每个单词之间只保留一个空格,首尾的空格也去掉。
部分代码已给定如下,只需要提交缺失的代码。
#include <string.h>
int main()
{
void delSpace(char sentence[]);
char sentence[1000];
gets(sentence);
delSpace(sentence);
puts(sentence);
return 0;
}
Input
英文句子
Output
删除多余空格后的句子
Sample Input
Happiness is a way station between too much and too little.
Sample Output
Happiness is a way station between too much and too little.
HINT
#include <stdio.h>
#include <string.h>
int main()
{
void delSpace(char sentence[]);
char sentence[1000];
gets(sentence);
delSpace(sentence);
puts(sentence);
return 0;
}
void delSpace(char sentence[])
{
int i,a;
char s[10000]={0};
for(i=0,a=0;sentence[i]!='\0';i++)
{
if(sentence[i]==' ')//判断有无空格 如果有 继续 如果没有 进入下一语句;
continue;
else
{
s[a++]=sentence[i];//将字符串输入到一个新的数组内;
if(sentence[i+1]==' ')
s[a++]=' ';
}
}
strcpy(sentence,s);//将新数组的元素复制到原数组内 输出原数组;
}