1. 程式人生 > 其它 >C語言函式題-輸入多個單詞,統計以指定字母開頭的單詞個數

C語言函式題-輸入多個單詞,統計以指定字母開頭的單詞個數

技術標籤: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; }

這題容易往復雜的方向想,其實單詞的首字母都滿足一個條件,就是前一個字元必定為空格,找出首字母對比就行了。