字符串处理加判断函数输出

博约8486  •  5小时前


include<bits/stdc++.h>

using namespace std;

bool isEng(char c){

if(c >= 'a' && c <= 'z') return true;
if(c >= 'A' && c <= 'Z') return true;
return false;

}

bool isSchar(char c){

if(c == ',' || c == ':' || c == '.') return true;
else return false;

}

int main(){

string str1;
getline(cin , str1);
string str2;
string res;
char lastc = ' ';
for(int i = 0; i < str1.length(); i++){
	if(str1[i] == ' ' && lastc == ' ') {
		lastc = ' ';
		continue;
	}else lastc = str1[i];
	str2 = str2 + str1[i];
}// ½«×Ö·û´®¿Õ¸ñËõ¼õΪ 1

if(str2[0] == ' ') str2 = str2.substr(1, str2.length() - 1);
if(str2[str2.length() - 1] == ' ') str2 = str2.substr(0, str2.length() - 1);// ɾ³ýÊ×β¿Õ¸ñ 
for(int i = 0; i < str2.length(); i++){
	if(str2[i] == ' '){
		if(isEng(str2[i - 1]) && isEng(str2[i + 1])){
			cout << ' ';
		}else if(isSchar(str2[i - 1])){
			cout << ' ';
		}
	}else cout << str2[i];
}

}


评论:

请先登录,才能进行评论