第一个单词统计错误,其他正常
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define Max 30
#define M 10
#define N 5
int chachong(char b[M][N],int c[M],char t[N],int n)
{
int i,r=0;
for(i=0;i<=n;i++)
if(strcmp(b[i],t)==0)
{
r=1;
c[i]++;
break;
}
return r;
}
int main()
{
char a[Max];
char b[M][N];
char t[N];
int c[M]={0};
int i=0,j=0,yes,n=-1;
gets(a);
//for(i=0;i<=strlen(a);i++)
do{
if((a[i]==' ')||(a[i]==',')||(a[i]=='\0'))
{
yes=chachong(b,c,t,n);//查重
if(yes!=1){
n++;
strcpy(b[n],t);
c[n]=1;
}//无重复,写进数组
memset(t,0,sizeof(t));
j=0;
}
else
{
t[j]=a[i];
j++;//存到临时字符串数组
}
i++;
}while(i<=strlen(a));
//排序(2个)
//输出
for(i=0;i<=n;i++)
{
printf("%s:%d\n",b[i],c[i]);
}
}
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define Max 30
#define M 10
#define N 5
int chachong(char b[M][N], int c[M], char t[N], int n)
{
int i, r = 0;
for (i = 0; i <= n; i++)
if (strcmp(b[i], t) == 0)
{
r = 1;
c[i]++;
break;
}
return r;
}
int main()
{
char a[Max];
char b[M][N];
char t[N] = {0};
int c[M] = { 0 };
int i = 0, j = 0, yes, n = 0;
gets_s(a);
//for(i=0;i<=strlen(a);i++)
do {
if ((a[i] == ' ') || (a[i] == ',') || (a[i] == '\0'))
{
yes = chachong(b, c, t, n);//查重
if (yes != 1) {
strcpy(b[n], t);
c[n] += 1;
n++;
}//无重复,写进数组
memset(t, 0, sizeof(t));
j = 0;
}
else
{
t[j] = a[i];
j++;//存到临时字符串数组
}
i++;
} while (i <= strlen(a));
//排序(2个)
//输出
for (i = 0; i < n; i++)
{
printf("%s:%d\n", b[i], c[i]);
}
}