C++中判断字符数组中的大小写,大写放左边,小写放右边,该怎么写
时间: 2024-09-09 13:16:02 浏览: 47
在C++中,要将字符数组中的大写字母放在小写字母之前,你可以先遍历整个数组,然后使用ASCII码值来进行比较和交换。ASCII码中大写字母通常在小写字母的前面,所以你可以通过这个特性来排序。以下是一个简单的示例:
```cpp
#include <algorithm> // 包含sort函数
void sortCaseInsensitive(char arr[], int size) {
bool swapped;
for (int i = 0; i < size - 1; i++) {
swapped = false; // 初始化标志位
for (int j = 0; j < size - 1 - i; j++) {
if (arr[j] >= 'a' && arr[j] <= 'z') { // 如果是小写字母
if (arr[j + 1] >= 'A' && arr[j + 1] <= 'Z') { // 后面如果是大写字母
std::swap(arr[j], arr[j + 1]); // 交换两个字符
swapped = true; // 标志位置换了
}
}
}
// 如果在这个循环中有位置交换,说明还没有完成排序
if (!swapped)
break; // 早停条件,因为已经有序
}
}
// 示例用法
char myArray[] = {'b', 'C', 'd', 'e', 'A', 'f'};
int arraySize = sizeof(myArray) / sizeof(myArray[0]);
sortCaseInsensitive(myArray, arraySize);
```
阅读全文