一道c++字符串问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 15:07:25
给你一个字符串,里面有大写或小写的字母,请把小写字母移动到字符串的前部,大写字母移到尾部。
小弟初学C++,请各位大大不吝赐教~

我看楼上有用c编的,我是用c++现编的,已经运行过了,没问题的。
#include<iostream.h>
#include<string.h>
void main(){
char s[50];
int i;
cout<<"请输入一组字母:";
cin.getline(s,50,'\n');
cout<<"排序后为:";
for(i=1;i<50;i++){
if(s[i]>='a'&&s[i]<='z')
cout<<s[i];
}
for(i=1;i<50;i++){
if(s[i]>='A'&&s[i]<='Z')
cout<<s[i];
}
cout<<endl;
}

嗯,了解下大小写字母的assci码...有范围的...在定义个数组...将大写的先放进去后放既不是大写的又不是小写的,最后把小写的放进去就OK了,用FOR实现

初学C++??谁给你出的题目,这题要暴力搜索也不难,但是对于长字符串时间性就不行了,所以我用了快速排序中的划分算法给你写了一个:

-------------------------------------------------------
#include<iostream>
#include<string>

using namespace std;

int main()
{
string s;
cin>>s;
int i=0,j=s.length()-1;
char temp=s[0];//保存中间还俗到临时变量,以腾出空位;