c多个空格转成一个空格

 主要思想是用一个计数器记录空格的数,程序如下:

#include   <stdio.h> 
void main()
{
int flag=1;/*当前不是空格,标志*/
char ch;
int j=0;/*记数器*/
ch=getchar();
while(ch!=EOF)
{
if(ch==' ')
{
flag=0;
j++;
}
else
{
flag=1;
j=0;
}
if(!(flag==0&&j> 1))
putchar(ch);
ch=getchar();
}
}


还有一个去掉所以空格的好办法:

#include<stdio.h>
#include<string.h>
#include<iostream.h>
#include<math.h >
void fun(char *str);
int main()
{
char str[8]="a bcd";
fun(str);
cout<<str<<endl;
return 0;
}
void fun(char *str)
{
int i, n=strlen(str);
cout<<n<<endl;
char *p=str;
for(i=0;i<n;)
{
if(*p!=' ')
str[i++] = *p;
p++;
}
str[i]='\0';//这个很重要
}



原文地址:https://www.cnblogs.com/youxin/p/2410233.html