各位大虾 紧急求助 小弟的C++要挂啊 。。。无限感谢啊 !!!
发布网友
发布时间:2023-10-31 22:11
我来回答
共2个回答
热心网友
时间:2024-11-17 04:14
这个简洁一点。
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;
void jsSort(int pos, string &s)
{
sort(s.begin()+pos, s.end());
}
void exch (int pos, string &s)
{
if (s.size() == 1)
return;
string tmp;
tmp.assign (s, pos, s.size());
s.swap (tmp);
if (s.size()%2)
s += tmp[pos-1] + tmp.substr(0, pos-1);
else
s += tmp.substr(0, pos);
}
int main (void)
{
string s;
int pos;
while (getline(cin, s), s.size())
{
pos = ceil (s.size() / 2.0);
jsSort (pos, s);
exch (pos, s);
cout<<s<<endl;
}
}
热心网友
时间:2024-11-17 04:14
看看可以不!
#include <iostream>
using namespace std;
void exch(char* text,int count)
{
if(count%2==0)
{
for(int i=0,j=count/2;i<count/2+1,j<count;i++,j++)
{
char letter;
letter=text[j];
text[j]=text[i];
text[i]=letter;
}
}
else if(count%2!=0)
{
for(int i=0,j=count/2+1;i<count/2+1,j<count;i++,j++)
{
char letter;
letter=text[j];
text[j]=text[i];
text[i]=letter;
}
}
};
void jsSort(char text[],int a)
{
int count=0;
for(int i=0;i<a;i++)
{
if(text[i]!=0)
{
count++;
}
}
if(count%2==0)
{
for(int i=count/2;i<=count-1;i++)
{
for(int j=i+1;j<=count-1;j++)
{
if(text[i]>text[j])
{
int max=text[i];
text[i]=text[j];
text[j]=max;
}
}
}
}
else if(count%2!=0)
{
for(int i=count/2+1;i<=count-1;i++)
{
for(int j=i+1;j<=count-1;j++)
{
if(text[i]>text[j])
{
int max=text[i];
text[i]=text[j];
text[j]=max;
}
}
}
}
exch(text,count);
};
int main()
{
char text[20]={0};
cout<<"Please input the text!"<<endl;
cin.getline(text,20);
cout<<"The text you input is :"<<text<<endl;
jsSort(text,20);
cout<<"After change,the text is:"<<text<<endl;
}