c++国家排序大小写互换
时间: 2023-11-24 14:52:17 浏览: 72
以下是C++代码,可以实现输入字符串,将其中所有的大写字母改为小写字母,而所有小写字母改为大写字母,其它字符不变,并按照字典序排序输出。
```c++
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
bool cmp(char a, char b) {
if (tolower(a) == tolower(b)) {
return a < b;
}
return tolower(a) < tolower(b);
}
int main() {
string s;
cin >> s;
sort(s.begin(), s.end(), cmp);
cout << s << endl;
return 0;
}
```
相关问题
写一个c++程序交换数组中的最大和最小值
在C++中,我们可以创建一个简单的函数来交换数组中的最大值和最小值。这里有一个基本的示例:
```cpp
#include <iostream>
using namespace std;
// 函数声明,接受一个整数指针作为参数
void swapMinMax(int* arr, int size) {
if (size >= 2) { // 至少需要两个元素才能比较
int min_val = *arr;
int max_val = *arr;
for (int i = 1; i < size; ++i) {
if (arr[i] < min_val) {
min_val = arr[i];
} else if (arr[i] > max_val) {
max_val = arr[i];
}
}
// 交换最大值和最小值
int temp = min_val;
min_val = max_val;
max_val = temp;
// 更新原数组
arr[0] = min_val;
arr[size - 1] = max_val;
}
}
int main() {
int arr[] = {5, 2, 9, 1, 7};
int size = sizeof(arr) / sizeof(arr[0]);
cout << "Before swapping: ";
for (int i : arr) {
cout << i << " ";
}
swapMinMax(arr, size);
cout << "\nAfter swapping: ";
for (int i : arr) {
cout << i << " ";
}
return 0;
}
```
在这个例子中,`swapMinMax`函数遍历数组找到最小和最大的值,然后将它们互换。注意,这个函数假设输入数组至少有两个元素,并且没有在内部排序。如果数组只有一个元素或者全是相同的数值,那么这个方法就不适用了。
阅读全文