引用块内容现代文本编辑器通常具备一些文本统计功能,例如单词数、字符数、行数等等。
现在给你一段文本,请你完成一些简单的文本统计功能
文本是一行字符串,由下列元素组成:
英文字母,大小写均可,
下划线,表示分隔符,
小括号.
文本保证括号是完全匹配的,且不含有嵌套括号。
例如这个字符串是一个合法的文本 “Hello_Vasya(and_Petya)__bye(and_OK)”.
可以在里面找到7个单词(单词即连续的字母): “Hello”, “Vasya”, “and”, “Petya”, “bye”, “and” 和 “OK”.试统计:
括号外的最长单词长度 (若括号外没有单词输出0),
括号内的单词总数.
Input
第一行一个整数 n (1 ≤ n ≤ 255).
第二行一个字符串s,长度为n。
Output
输出一行两个整数,用空格隔开,分别为括号外的最长单词长度和括号内单词的总数。
Example
Input
37
Hello_Vasya(and_Petya)__bye(and_OK)
Output
5 4
Input
37
a(b___c)de_f(g)__h__i(j_k_l)m
Output
2 6
Input
27
(LoooonG)shOrt(LoooonG)
Output
5 2
Input
5
(_)
Output
0 0`
#include<string.h>
#include<ctype.h>
int main()
{
int n;
int i;
int flag=1;
int max=0;
int len=0;
char a[1000];
int num=0;
scanf("%d",&n);
scanf("%s",a);
for(i=0;i<=n;i++)
{
if(!isalpha(a[i]))
{
if(flag==1&&max<len)// 判断单词最长长度;
max=len;
else if(flag==0&&len!=0)//统计括号内的单词个数;
num++;
len=0;
if(a[i]=='(')//找括号
flag=0;
else if(a[i]==')')
flag=1;
}
else//找单词
len++;
}
printf("%d %d",max,num);
return 0;
}`