Un jour, Mao Maotou tapait des scripts MySQL, mais Mao Maotou en avait assez des majuscules et pensait qu'écrire du code en majuscules était une chose très frustrante.
Par conséquent, afin de ne pas laisser une ligne donnée de script MySQL faire exploser la tête du chat. (Bien que Mao Maotou en ait marre des majuscules, il n'exclut pas la mise en majuscule de la première lettre de chaque mot , donc la saisie Select
n'a pas besoin de changer de caractères S
).
Opération donnée : Minuscule une lettre majuscule d'une chaîne.
Question : Combien de fois devez-vous opérer au moins pour que Maomaotou n'explose pas la ligne de commande MySQL donnée.
entrer
Compte tenu du nombre d'échantillons 1≤T≤105
Chaque exemple a une ligne de chaîne de commande MySQL S (indépendamment de la légalité), et chaque ligne doit se terminer par un point-virgule. (1≤len(S)≤300)
sortir
Pour chaque exemple, affichez le nombre minimum d'opérations.
goûter
3
sElecT * From userS;
seLect coUnt(*) FRom;
Update users set Name='xiaotong' where name='xt';
3
3
0
Utiliser stringstream pour traiter les chaînes
#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;
}