统计长度为n单词

输入长度不超过80的英文文本,统计该文本中长度为n的单词总数(单词之间只有一个空格)。

输入格式:

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。
每组数据首先输入1个正整数n(1≤n≤50),

然后输入1行长度不超过80的英文文本(只含英文字母和空格)。注意:不要忘记在输入一行文本前吸收换行符。

输出格式:

对于每组测试数据,输出长度为n的单词总数。

输入样例:

2
5
hello world
5
acm is a hard game

输出样例:

2
0

code演示:


#include <string.h>
#include <stdio.h>
int main() {
    int t;
    scanf("%d",&t);
    
    while (t--) {
        int ji, cnt = 0;
        scanf("%d",&ji);
        getchar();
        char s[100];
        int b[80];
        gets(s);
        int n = strlen(s);
        
        b[0] = 0;
        int k = 1;
        
        for (int i = 0; i < n; i++)
        {
            if (s[i] == ' ') {
                b[k] = i;
                k++;
                
            }
        }
        b[k] = n - 1;
        if (b[1] - b[0] == ji)cnt++;
        for (int i = 2; i <k; i++)
        {
            if (b[i] - b[i - 1] == ji+1)cnt++;
        }
        if (b[k] - b[k-1] == ji)cnt++;
        printf("%d\n",cnt);
    }
    return 0;
}

结果演示: 

 pta两百题继续冲冲冲!!!

 pta两百题继续冲冲冲!!!

 pta两百题继续冲冲冲!!!

 pta两百题继续冲冲冲!!!

 pta两百题继续冲冲冲!!!

 pta两百题继续冲冲冲!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值