小明最近对兔子这种动物感兴趣起来了,现在他抓了 n
只兔子,并且抓的时候给每只兔子一个编号。遗憾的是,小
明由于太高兴了把编号搞乱了,导致 n 只兔子的编号可能会
有重复。
现在输入数字 n 和 n 个数字(代表兔子们的编号),问你
是否有重复的编号?如果有,输出 YES,否则输出 NO
(用c语言完成)
```c
#include<stdio.h>
int main()
{
int i,j,n,max=1005,a[max];
scanf("%d",n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<n;i++)
{
for(j=i+1;j<=n;j++)
{
if(a[i]==a[j])
{
printf("yes");
return 0;
}
}
}
printf("NO");
return 0;
}
```
1.max=1005,a[max]错误,数组不能这么定义,max=1005可以改成#define max 1005放main函数上面。
2.scanf("%d",n)错误,scanf需要将输入存入变量,需要的是地址&n不是n。
3.for(i=1;i<=n;i++),数组下标是从0开始的,建议改成for(i=0;i<n;i++),否则a[n]数组下标越界。
4.for(i=1;i<n;i++){for(j=i+1;j<=n;j++)改成for(i=0;i<n-1;i++){for(j=i+1;j<n;j++)