CodeForces - 723B

本文介绍了一个简单的文本统计功能实现方法,包括如何统计括号外的最长单词长度及括号内的单词总数,通过C语言实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用块内容现代文本编辑器通常具备一些文本统计功能,例如单词数、字符数、行数等等。

现在给你一段文本,请你完成一些简单的文本统计功能

文本是一行字符串,由下列元素组成:

英文字母,大小写均可,
下划线,表示分隔符,
小括号.
文本保证括号是完全匹配的,且不含有嵌套括号。

例如这个字符串是一个合法的文本 “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;
}`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值