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