for(t=0;t<i-1;t++){
for(r=t+1;r<i;r++){
if(strcmp(a[t],a[r])==0){
strcpy(passage[u].word,a[t]);
passage[u++].num++;
}
}
}
您上面的算法好想有点问题.我把他改写成以下的.尝了一下可以正确统计出现的次数.
看您上面把S[100]里的转到a[][]里去的循环好像也有点问题.如s[100]=" a aa a b a dd aa ",您测试一下看看.我还没想到更好的办法来把这个一围数据转到二围数组里去.还请高手点指一下.一个更好的算法.
k=0;
for(t=0;t<i;t++)
for(r=0;r<i;r++)
if(strcmp(a[t],a[r])==0)
{
if(t>r)
break;
if(t==r)
{
strcpy(s[k].w,a[t]);
s[k].n=1;
f=k;
k++;
}
if(t<r)
s[f].n++;
}
for(r=t+1;r<i;r++){
if(strcmp(a[t],a[r])==0){
strcpy(passage[u].word,a[t]);
passage[u++].num++;
}
}
}
您上面的算法好想有点问题.我把他改写成以下的.尝了一下可以正确统计出现的次数.
看您上面把S[100]里的转到a[][]里去的循环好像也有点问题.如s[100]=" a aa a b a dd aa ",您测试一下看看.我还没想到更好的办法来把这个一围数据转到二围数组里去.还请高手点指一下.一个更好的算法.
k=0;
for(t=0;t<i;t++)
for(r=0;r<i;r++)
if(strcmp(a[t],a[r])==0)
{
if(t>r)
break;
if(t==r)
{
strcpy(s[k].w,a[t]);
s[k].n=1;
f=k;
k++;
}
if(t<r)
s[f].n++;
}
[此贴子已经被作者于2007-9-2 15:10:21编辑过]
假如回到过去.我能做些什么? 还是和现在这样有时间没事情?