题目描述
给定一个仅由拉丁字符组成字符序列,需要改写一些字符的大小写,使得序列全部变成大写或全部变成小写,请统计最少修改多少个字符才能完成这项任务。
输入格式
一个字符序列:保证仅由拉丁字符构成
输出格式
单个整数:表示最少修改次数
数据范围
设输入的字符数量为 n,则保证 1≤n≤100,0001≤n≤100,000
限制要求
内存限制: 256 Mb时间限制: 1000 ms
样例数据
输入:
TheQuickBrownFoxJumpsOverTheLazyDog
输出:
9
说明:
将大写改小写
解析
该题关键点:求出字符串中大小写字母数量中的最小值,代码如下:
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int main(){
int len,lower,upper;
string s1;
cin>>s1;
lower=0;
upper=0;
len = s1.length();
for(int i=0;i<len;i++){
if(isupper(s1[i])){
upper++;
}else if(islower(s1[i])){
lower++;
}
}
if(upper<lower){
cout<<upper<<endl;
}else{
cout<<lower<<endl;
}
}