笔试题目:
如果输入一个字符串" lan zhihui is a good boy! ",现在需要去除字符串首位的空格,每个单词之间留一个空格,即返回"lan zhihui is a good boy! "。
#include<iostream> using namespace std; void fun(char a[],char b[]) { int len=strlen(a); bool falg=false; bool sf=false; int j=0; for(int i=0;i<len;i++) { while(a[i]==' '&&!falg)//falg保证最多只进入一次,即只忽略字符串前面的空格 { i++; } falg=true; if(a[i]!=' ') { b[j]=a[i]; j++; sf=false; } else if(!sf)//每次只记录一次空格 { b[j++]=' '; sf=true; } } if(b[j-1]==' ')//如果最后一个字符为空格,则最后一个字符修改为'\0', { b[j-1]='\0'; } else { b[j]='\0'; } } int main() { char a[100]; char b[100]; gets(a); fun(a,b); cout<<b<<endl; system("pause"); return 0; }
时间: 2024-11-03 01:24:47