char *cp = " your input world ";
char buf[512] = {0};
int i = 0;
int world = 0;
while(*cp != '\0')
{ //删除句子的前导空格和多余的中间空格
for(;(*cp == ' ' || *cp == '\t' ) && *cp != '\0'; cp++);
for(;(*cp != ' ' && *cp != '\t' ) && *cp != '\0'; cp++){
buf[i++]=*cp;
}
if(*cp == '\0'){
buf[i]='\0';
break;
}else{
buf[i++]=*cp;
}
}
//删除句子的后导空格
if(i>1 && (buf[i-1] == ' ' || buf[i-1] == '\t')) {
buf[i-1]='\0';
}
printf("%s\n",buf);
是不是这个?
输入一个英语句子: l lll lllll lllll l llll
l lll lllll lllll l llll
#include
void main()
{
char t[100];char w[100];
printf("输入一个英语句子:");
gets(t);
int n=0,i,j=0;
while(t[n]!=0)n++;
for(i=0;i
{w[j]=t[i];j++;}
if(t[i]==' '&&t[i+1]!=' ')
{w[j]=t[i];j++;}
}
w[j]=0;
if(w[0]==' ')
{n=0;while(w[n]!=0)n++;
for(i=0;i
#include
#include
int main(void)
{
char aa[1024];
char *p = NULL;
memset(aa, 0x00, sizeof(aa));
gets(aa);
/* 删除尾部空格 */
p = &aa[strlen(aa) - 1];
while(' ' == *p--)
{
p[1] = '\0';
}
/* 删除头部空格 */
p = aa;
while(' ' == *p++);
p--;
strcpy(aa, p);
/* 删除连续空格 */
while(NULL != (p = strstr(aa, " ")))
{
strcpy(p, &p[1]);
}
printf("%s\n", aa);
return 0;
}
#include
#include
char word[100];
int main(){
//freopen("s.in","r",stdin);
//freopen("s.out","w",stdout);
scanf("%s",word);
printf("%s",word);
while(scanf("%s",word)!=EOF){
printf(" %s",word);
}
printf("\n");
return 0;
}
我表示我只是分不够过来混分的...