编写函数void count(char a[],char w[][10],int n,int b[])

    xiaoxiao2021-03-26  83

       编写函数void count(char a[],char w[][10],int n,int b[])

       功能是:统计w指向的数组中的n个单词在a指向的字符串中各自出现的次数(将非字母字符看作单词分割符),拧将统计结果依次保存在b指向的数组中。

    #include <stdio.h> void count(char a[],char w[][10],int n,int b[]); int main() {     char a[] = {"cat dog dogs cat hello cat flower hello"};     char w[4][10] = {"dog","cat","hello","flower"};     int b[20];     int i;     count(a,w,4,b);     for(i = 0;i < 4;i++)     { printf("%s : %d\n",w[i],b[i]);     }     return 0; } void count(char a[],char w[][10],int n,int b[]) {     int i,j,k;        //定义循环变量     int count = 0;    //计数     for(i = 0;i < n;i++)    //从第一个单词找起     { k = 0;              //每次找一个单词都要从a数组重新开始找,k每次都要置零 j = 0; count = 0;          //每次新找的单词个数也要置零 while(a[k] != '\0')     { while(a[k] == w[i][j])   //一直找每一位都相同的 { k++; j++; } if(w[i][j] == '\0' && a[k] == ' ')  //当要找的单词结束并且这个相同的一串字符 {                                     在数组a中也是一个单词,count才会计数    count++;

             j = 0;            //j置零继续寻找 } else {     j = 0;      //如果在a中不是单词,j置零继续寻找 }     k++; } b[i] = count;      //最后把个数放在b数组里面 }   }

    转载请注明原文地址: https://ju.6miu.com/read-661529.html

    最新回复(0)