我按照您的意思编了1个类似程序:
{ int s[]={1,4,4,6, 6,7,7,7,7,8,8}, i, j, m; for (i=0;i<14;i++) { for (m=0, j=i+1;j<14;j++) if(s[i]==s[j]) { m=m+1; } if (m>2) { printf("%d\n",m); break; } }
}
但存在几个问题:
1.我的本意是若两个相邻的数不相等,那么就没必要继续比了;而这个程序要每两个数都比一下。
2.一旦我想要的结果,比如说找到了4个7,就想退出循环。而这个程序还要接着比后面的8。
这样的话效率低,因为我的实际问题中有很多数据。