一天猫猫头在打MySQL脚本,但是猫猫头非常厌烦大写字母,认为用大写字母写代码是一件十分炸毛的事情。
因此,为了不让给定的一行MySQL脚本导致猫猫头炸毛。(猫猫头虽然会厌烦大写字母,但是不排斥每个单词的首字母大写,因此,输入Select
不需要改变字符S
)。
给定操作: 将字符串的某个大写字母变小写。
提问: 最少需要操作多少次,猫猫头才不会对给定MySQL命令行炸毛。
输入
给定样例数量 1≤T≤105
每个样例有一行MySQL命令串 S (无需考虑合法性),每行必以分号结尾。(1≤len(S)≤300)
输出
对于每一个样例,输出最少操作次数。
样例
3
sElecT * From userS;
seLect coUnt(*) FRom;
Update users set Name='xiaotong' where name='xt';
3
3
0
使用stringstream处理字符串
#include<bits/stdc++.h>
using namespace std;
int main()
{
int T;
while(scanf("%d",&T)!=EOF){
getchar();
while(T--){
string s;
getline(cin,s);
stringstream ss(s);
int num = 0;
while(ss>>s){
for(int i = 1;i<s.size();i++){
if(s[i]>='A'&&s[i]<='Z') num++;
}
}
cout<<num<<"\n";
}
}
return 0;
}