Description
我们的第一个任务,就是统计给定数据单词的个数。
Input
第一行输入一个整型数T,表示有T行测试数据。从第二行开始到第T+1行会有T组测试数据,每行一串字符,可能为大写字母,小写字母,数字(例如年份)或者空格,每两个单词之间用一个空格分隔,但是不保证每个单词以大写字母开头,也不保证大写字母只出现在开头。每一行可能有一个英文句号作为结尾,也可能没有。最后一个单词后面保证没有空格。每一行为一组测试数据,带有连接符“-”连接的两个词视为一个单词,每一行开头可能有一个空格。
Output
有与测试数据对应的T行,每行为一个整数,即这一组字符串中的单词的个数。
Sample Input
3 ACM International Collegiate Programming Contest is an annual multi-tiered competitive programming competition among the universitieS of the world.
Sample Output
5 7 6
思路:一次性读取一行,按照词前空格数来判断单词数目。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
int n,len;
char a[1000],c;
scanf("%d",&n);
scanf("%c",&c);
for(int i=1;i<=n;i++)
{
// printf("i=%d\n",i);//调试语句 查看当前循环次数
gets(a);
// puts(a); //检验是否正常读取
int sum=1;
len=strlen(a);//获取字符串长度
for(int j=1;j<len;j++)
{
// printf("%d",i);//检查是否进入内循环
if(a[j]==' ')
sum+=1;
}
printf("%d\n",sum);
}
return 0;
}