C语言函数题-输入多个单词,统计以指定字母开头的单词个数

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;
}

这题容易往复杂的方向想,其实单词的首字母都满足一个条件,就是前一个字符必定为空格,找出首字母对比就行了。

猜你喜欢

转载自blog.csdn.net/weixin_51198300/article/details/111522457