用C语言 编写判断一个整数数组中有没有两个数相等
#include <stdio.h>
int main()
{
int j,k,n=10;
int t[10]={1,2,3,4,5,5,6,7,8,9};
for( j=0; j<10 ; j++)
{
for( k=0; k<10 ; k++)
{
if(t[j]==t[k]&&j!=k)
{
printf("数组中有两个数相等\n");
printf("两个相等的数为:%d\n",t[j]);
return 1;
}
}
}
printf("数组中有没有两个数相等\n");
return 0;
}
int num[20];
char k=0,h =0;
for(k=0;k<20;k++)
{
for(h=0;h<20;h++)
{
if((num[k]==num[h])&&(k!=h))
{
........
}
}
}
笨办法:两个for循环,依次比较。
哈希:新建一个哈希集合,逐个向集合内添加元素,如果遇到元素未添加成功,则证明存在重复元素。(需要数组里的数据不能太大)
先排序再遍历