输入一个字符串,将字符串中的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出形成一个新的字符串,输出新串。
#include <iostream>
#include <cstring>
using namespace std;
void sort(char *a, int len)
{
int i, j;
char t;
for(i = 0; i < len - 1; i++)
{
int flag = 0; // 是否冒泡标识
for(j = 0; j < len - i - 1; j++)
{
if (*(a + j) > *(a + j + 1)) // 从小到大冒泡
{
t = *(a + j);
*(a + j) = *(a + j + 1);
*(a + j + 1) = t;
flag = 1; // 冒过泡了
}
}
if (!flag) // 都没有冒泡,说明已排序好,直接跳出循环
break;
}
}
int main() {
char ch[100];
cin >> ch;
int len = strlen(ch);
sort(ch, len);
int m = 0;
char ch1[100];
for (int i = 1; i < len; i+=2)
{
ch1[m++] = ch[i];
}
ch1[m] = '\0';
cout << ch1;
return 0;
}