c++: 信 给出一个字符串,每次修改可以将小写字母转成大写,或大写字母转成小写。 问:最少修改多少次,使得字符串的前面全是大写字母,后面全是小写字母。(可以全为小写或大写)
时间: 2024-04-10 15:27:07 浏览: 92
将一字符串中的小写英文字母改成大写。-c语言习题
C知道:要使字符串的前面全是大写字母,后面全是小写字母,我们可以遍历字符串,统计需要修改的次数。具体步骤如下:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int min_modifications(string str) {
int n = str.length();
int count_upper = 0; // 统计大写字母的个数
int count_lower = 0; // 统计小写字母的个数
// 统计大写字母和小写字母的个数
for (int i = 0; i < n; i++) {
if (isupper(str[i])) {
count_upper++;
} else {
count_lower++;
}
}
// 返回最小修改次数
return min(count_upper, count_lower);
}
int main() {
string str;
cin >> str;
int min_mods = min_modifications(str);
cout << min_mods << endl;
return 0;
}
```
您可以输入一个字符串,程序会输出最少的修改次数。
希望对您有所帮助!如果还有其他问题,请随时提问。
阅读全文