给你一行短文, 由单个空格分开的一些单词组成,仅包含大写字母和小写字母.
单词的Volume代表: 这个单词中大写字母的个数
短文的Volume等于该短文包含的所有单词的Volume的最大值
你的目标是计算给定短文的Volume.
Input
第一行包含一个整数n (1 ≤ n ≤ 200) — 代表短文的长度.
第二行包含一行短文,由单个空格分开的一些单词s1, s2, ..., si组成,由大写字母和小写字母组成.
Output
输出一个整数 — 该短文的Volume.
Simple Input 1
7
NonZERO
Simple Output 1
5
Simple Input 2
24
this is zero answer text
Simple Output 2
0
Simple Input 3
24
Harbour Space University
Simple Output 3
1
Note
在第一个样例中该短文只有一个单词, 这个单词包含5个大写字母.
在第二个样例中该短文每个单词都不包含大写字母.
解析:
首先要知道怎么接收带空格的字符串,用scanf("%[^\n]",a)(之前的博客有关于这个的介绍);
然后根据空格,记录每一个单词的大写字母的个数,每次取最大值,但是要注意,最后一个单词要单独处理;
#include<bits/stdc++.h>
using namespace std;
char a[200+10];
int main()
{
int n;
cin>>n;
getchar();//接收回车符
for(int i=0;i<n;i++)
scanf("%[^\n]",a);//接收带空格的字符串
int k=0,j=0;
int ans=0;
for(int i=0;i<n;i++){
if(a[i]>='A'&&a[i]<='Z') k++;
if(a[i]==' '){//空格之前的单词中,大写字母的个数
ans=max(ans,k);//取最大值
k=0;
}
if(i==n-1){//最后一个单词需要单独处理
ans=max(ans,k);
k=0;
}
}
cout<<ans<<endl;
return 0;
}