6-1 输入多个单词,统计以指定字母开头的单词个数 (9分)
本题目:先输入一个含有多个单词的字符串,然后再输入一个字母,然后调用函数getWordNum统计该行字符中以指定字母开始的单词的个数(不区分大小写)。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
函数接口定义:
int getWordNum(char ar1[], char ch) ;
函数返回以形参变量ch中的字符开头的字符数组ar1中的单词数
裁判测试程序样例:
#include<stdio.h>
int getWordNum(char ar1[],char ch) ;
int main()
{
char string[81],c,n;
gets(string);
c=getchar();
n=getWordNum(string,c);
printf("%d",n);
return 0;
}
/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
af Adf Dad abdde
a
输出样例:
在这里给出相应的输出。例如:
3
#include<string.h>
int getWordNum(char ar1[],char ch)
{
int count=0;
int len = strlen(ar1);
if(ar1[0]== ch||ar1[0]== ch+32||ar1[0]== ch-32)
{
count=1;
}
for(int i=1; i<len; i++)
{
if((ar1[i]== ch||ar1[i]== ch+32||ar1[i]== ch-32 ) && ar1[i-1]==' ' )
{
count++;
}
}
return count;
}
这题容易往复杂的方向想,其实单词的首字母都满足一个条件,就是前一个字符必定为空格,找出首字母对比就行了。