C语言已经存进一个数组的元素,怎样找出其中每个元素出现的次数?
将一句英文存到一个数组中,然后将其中每个单词分离,存到另一个数组中,每个单词是一个元素,怎样求每个元素出现的次数?(单词有重复的)急!...
将一句英文存到一个数组中,然后将其中每个单词分离,存到另一个数组中,每个单词是一个元素,怎样求每个元素出现的次数?(单词有重复的)急!
展开
2个回答
展开全部
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int cmp(const void* a,const void* b)
{
return strcmp((char*)a,(char*)b);
}
main()
{
char A[200],B[100][10],*tmp;
int i=0,j,num=1;
printf("输入一句话:\n");//单词之间用空格分隔
gets(A);
tmp=strtok(A," ");
while(tmp)
{
strcpy(B[i++],tmp);
tmp=strtok(NULL," ");
}
qsort(B,100,sizeof(B[0]),cmp);
printf("分析结果是:\n");
for(j=0;j<i;j++)
{
if(!strcmp(B[j],B[j+1]))
num++;
else
{
printf("%s:%d\n",B[j],num);
num=1;
}
}
}
#include <string.h>
#include <stdlib.h>
int cmp(const void* a,const void* b)
{
return strcmp((char*)a,(char*)b);
}
main()
{
char A[200],B[100][10],*tmp;
int i=0,j,num=1;
printf("输入一句话:\n");//单词之间用空格分隔
gets(A);
tmp=strtok(A," ");
while(tmp)
{
strcpy(B[i++],tmp);
tmp=strtok(NULL," ");
}
qsort(B,100,sizeof(B[0]),cmp);
printf("分析结果是:\n");
for(j=0;j<i;j++)
{
if(!strcmp(B[j],B[j+1]))
num++;
else
{
printf("%s:%d\n",B[j],num);
num=1;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询