題目:編寫函數(shù)void count(char a[],char w[][10],int n,int b[])。功能是:統(tǒng)計(jì)w指向的數(shù)組中的n個單詞在a指向的字符串中各自出現(xiàn)的次數(shù)(將非字母字符看作單詞分割符),擰將統(tǒng)計(jì)結(jié)果依次保存在b指向的數(shù)組中。
#include <stdio.h>#include <stdlib.h>#include <string.h>void input(char w[][10],int n); //輸入函數(shù)void count(char a[],char w[][10],int n,int b[]);int main(){ char w[10][10]; char str[100]; int result[50]; //用于存放統(tǒng)計(jì)結(jié)果 int n = 0; //單詞個數(shù) PRintf("請輸入一個總的字符串:/n"); fgets(str,100,stdin); printf("請確認(rèn)需要找出的單詞數(shù):/n"); scanf("%d",&n); printf("請輸入%d個單詞:/n",n); input(w,n); count(str,w,n,result); return 0;}void input(char w[][10],int n){ int i = 0; int j = 0; for (i = 0 ; i < n ; i++) { scanf("%s",w[i]); }}void count(char a[],char w[][10],int n,int b[]){ int count_num = 0; int i = 0; //i為總字符串a(chǎn)[]的循環(huán)變量 char temp[10]; //定義臨時數(shù)組用于和w比較 int j = 0; //該循環(huán)變量用于臨時數(shù)組 int k = 0; //該循環(huán)變量用于b[] int l = 0; //該循環(huán)變量用于w[][10] for (l = 0 ; l < n ;l++ ) //現(xiàn)從w中拿出第0行進(jìn)行比較 { for ( i = 0 ; i < strlen(a) ; i++) { while ( (a[i] >= 'A' && a[i] <= 'Z') || ( (a[i] >= 'a' && a[i] <='z') ) ) { temp[j]=a[i]; i++; j++; } temp[j] = '/0'; //賦予temp /0 字符串結(jié)束標(biāo)志 if ( strcmp(temp,w[l]) == 0) { count_num++; } j = 0; //j置0,再重新為temp賦值 } b[k] = count_num; k++; count_num = 0; } printf("結(jié)果分別為:/n"); for ( i = 0 ; i < k ; i++) { printf("%d/n",b[i]); }}
新聞熱點(diǎn)
疑難解答