/*
*Copyright(c) 2016,烟台大学计算机学院
*All rights reserved.
*作 者:刘金石
*完成日期:2016年4月22日
*版本 号:v1.0
*问题描述:删除字符串间多余的空格
*/
//方法一:改变原来的字符串
#include <string.h>
#include<stdio.h>
int main()
{
void delSpace(char sentence[]);
char sentence[1000];
gets(sentence);
delSpace(sentence);
puts(sentence);
return 0;
}
void delSpace(char sentence[])
{
int l=strlen(sentence),k=0,i=0;
char a[100];
for(i=0;i<l;i++)
if(!(sentence[i]==32&&sentence[i+1]==32))
{
a[k]=sentence[i];
k++;
}
a[k]='\0';
if(a[0]==32)
{
for(i=0;i<k;i++)
a[i]=a[i+1];
a[k]='\0';
}
strcpy(sentence,a);
}
//方法二:不改变原来的字符串
#include <string.h>
#include<stdio.h>
int main()
{
void delSpace(char sentence[]);
char sentence[1000];
gets(sentence);
delSpace(sentence);
return 0;
}
void delSpace(char sentence[])
{
int i=0,k;
if(sentence[i]==' ')
{
while(1)
{
if(sentence[i]!=' ')
{
break;
}
i++;
}
}
k=i;
for(;sentence[k]!='\0';k++)
{
if(!(sentence[k]==32&&sentence[k+1]==32))
{
printf("%c",sentence[k]);
}
}
}
运行结果: