C++编写一个程序,把它的输入字符串相连的多个空格用一个空格代替,下面这段代码错在哪里了??

int main(){
char c;
int i=0;
while((c=getchar())!=EOF){
if(c==' '){
++i;
if(i=1){
cout<<' ';
}
if(i>1)
continue;
}else {
i=0;
putchar(c);
}
}
return 0;

}

篮圈的地方,你原来是等号,更换成双等号,有问题,再问!

下面是完整的代码:

#include <iostream>
using namespace std ;

int main(){ 
 char c;
 int i=0;
  while((c=getchar())!=EOF){
 if(c==' '){
 ++i;
 if(i==1){   // 这里改成双等号
 cout<<' ';
 }
 if(i>1)
 continue;
 }else {
 i=0;
 putchar(c);
 }
  }
return 0;

}

温馨提示:内容为网友见解,仅供参考
无其他回答

C++编写一个程序,把它的输入字符串相连的多个空格用一个空格代替,下面...
下面是完整的代码:include <iostream>using namespace std ;int main(){ char c; int i=0; while((c=getchar())!=EOF){ if(c==' '){ ++i; if(i==1){ \/\/ 这里改成双等号 cout<<' '; } if(i>1) continue; }else { i=0; putchar(c); } }return 0;} ...

如何用C++把一串字符中的多个空格变成一个 比如aaa bbb 变成''aaa...
你这个有歧义哦,你是说把字符数按末尾的空格取消掉,还是说这个字符串无论哪个位置都进行字符串空格处理那?如果是末尾的话,CString里面有Trim了,可以满足你,如果不合适,可以自己从首字母进行遍历,遇到空格,指针索引++,直到遇到非空格时拷贝到新的指针下。即可。

用c++编写程序,接收一个字符串(长度 < 10000),将该串中的每个字符后加一...
char inputs[10000] 省略输入代码……char outs[20000]={0};int i=0;while(inputs[i]){ outs[i*2]=inputs[i];outs[i*2+1]=' ';i++;} outs[i]='\\0';printf("%s",outs);

C++编写一个程序,要求用户输入一连串的数字和任意空格(作为分隔符...
22 3 2 4 5 sum = 36 Press any key to continue \/ include <stdio.h>int main() {int num = 0,sum = 0;char ch;while((ch = getchar()) != '\\n') {if(ch >= '0' && ch <= '9') num = 10 * num + ch - '0';if(ch == ' ') {sum += num;num = 0...

C++程序编写读取值时,有空格甚至多个空格怎么办?
如果是输入的话,将运算符输入之前处理一下输入流中的数据。就是cin>>A之后把后面空格给处理掉 调用cin.eatwhite();\/\/我没用过,,,不行的话,用peek()和ignore()来处理。在输入运算符。。如果是字符串的话,写程序处理就是。。。

求一个用数组写的C++程序,要求去除字符串中的空格
void main(){ char c[]=("a bc def"); \/\/定义一个含空格的字符串 int i=0,j;while(c[i]!='\\0') \/\/遍历所有字符 { if(c[i]==' ') \/\/如果是空格 { j=i;while(c[j]!='\\0')\/\/则把空格之后的所有字符往前移一位 { c[j]=c[j+1];j++;} continue;\/\/因为空格被后...

C++程序 求去掉最后1个空格 输出格式错误
void print(int l,int r){ if(l==r){cout<<' '<<l;return;}\/\/把空格加在前面 if(l>r)return;cout<<' '<<root[l][r]; \/\/把空格加在前面 print(l,root[l][r]-1);print(root[l][r]+1,r);} \/\/都把空格加在前面,这是最简单的方法了。注意有两个地方要把空格加在前面 ...

C++ 编程,编写一个程序,通过根据输入键重新排列输入字符串中的字符来...
我没有重新建立二维数组来做,也可以考虑通过字符串,拆分成二维数组,再重新根据key的索引顺序再构建一个新的二维数组,再按顺序输出。这里就给定一种方法了哈,我这种方法就是对空间要求相对少,可能不一定直观,请参考:参考代码如下 include <iostream> include "Math.h"using namespace std;int main...

c++里怎么把多个空格合并成一个
用状态机读一遍就好了 如果读到1个空格,flag置为1,之后读的所有空格都忽略,直到出现非空格置为0 char * _escape(char *a, int len){ bool flag = false;char *b = new char[len];int i = 0 ;int j = 0;while(i <len){ if (a[i] == ' ' && flag == true)i++;else ...

C++ 多个字符串输入
声明一个char类型的c用来接收输入,看它是否是回车或者空格就行了 具体程序如下 include <iostream> include <string> using namespace std;int main(){ char c;string str1,str2;cin>>str1;c=getchar();\/\/接收这个字符 if(c==' ')\/\/空格 { cin>>str2;cout<<str1;cout<<str2<<endl;...

相似回答