在一行中输入一个英文句子(不超过100个字符),输出这个句子中单词的个数,单词之间以空格分隔,除空格外都认为是单词(包括符号)。
输入样例:
This is a C program. <<< =22= , END
输出样例:
9
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[100];
gets(str);
int i=0,cnt=0,isword=0;
while(str[i]!='\0')
{
while(str[i]==' ')
{
i++;
}
if(str[i]!='\0')
isword=1;
while(str[i]!=' '&&str[i]!='\0')
{
i++;
}
if(isword==1)
{
cnt++;
isword=0;
}
}
printf("%d",cnt);
}
输入长度不超过80的英文文本,统计该文本中长度为n的单词总数(单词之间只有一个空格)。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。
每组数据首先输入1个正整数n(1≤n≤50),然后输入1行长度不超过80的英文文本(只含英文字母和空格)。注意:不要忘记在输入一行文本前吸收换行符。
输出格式:
对于每组测试数据,输出长度为n的单词总数。
输入样例:
2
5
hello world
5
acm is a hard game
输出样例:
2
0
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int t;
scanf("%d",&t);
while(t>0)
{
int n;
scanf("%d",&n);
getchar();
char str[100];
gets(str);
int i=0,cnt=0,isword=0;
while(str[i]!='\0')
{
int wordlen=0;
while(str[i]==' ')
{
i++;
}
if(str[i]!='\0')
isword=1;
while(str[i]!=' '&&str[i]!='\0')
{
i++;
wordlen++;
}
if(wordlen==n)
{
cnt++;
}
if(isword==1)
{
isword=0;
}
}
printf("%d\n",cnt);
t--;
}
}