C語言函式題-輸入多個單詞,統計以指定字母開頭的單詞個數
阿新 • • 發佈:2020-12-23
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;
}
這題容易往復雜的方向想,其實單詞的首字母都滿足一個條件,就是前一個字元必定為空格,找出首字母對比就行了。