求各位专家找找bug所在

问题描述

现在比较盛行这样的一个抽奖游戏:每个人在1到1000中选一个数字写下来,然后拿出来比较,谁的数字既没有和其它人重复的,并且是不重复里的最小的一个的话,那他这个就是Lucky Number。
谁手上得到这个Lucky Number,谁就会得到丰厚的奖品哦!

输入

共两行。第一行是n,下一行接着是n个人分别写下的数字,其中1 < = n < = 100。

输出

若哪个人手上的数是Lucky Number,则输出他的位置,同时把这个数也输出。
如果没有Lucky Number,就输出:"Thank you for playing"(注意,你的程序中文字不带双引号,文字内容必须一模一样!!)

输入样例

5
1 3 1 7 5

输出样例

2 3

#include
#include
main()
{
    int p,i,j,sum1=0,number=0,place;
    int *a,*b;
    scanf("%d",&p);
    a=(int*)malloc(p*sizeof(int));
    b=(int*)malloc(p*sizeof(int));
    for(i=0;iscanf("%d",&a[i]);
    }
    
    
    for(i=0,sum1=0;i//取数组里每一个数为判断数  
        for(j=0;j//判断除自己以外有没有别的数相同
        {
            if(number==a[j])  sum1+=1;  
        }
    if(sum1==1) b[i]=a[i];    //将找到的独立数赋给新数组b 
    else b[i]=0;  //b数组其余项为零 
    }



    int max=b[0];
    for(i=0;iif(b[i]1]) 
               {
               max=b[i+1];  //依次判断大小并累计最大值 
            }
       } 
     
     
     
    for(i=0;iif(max==a[i]) place=i; //遍历数组a,找到最大值的位置 
    }
    
    
    printf("%d %d",max,place);
}

单看存在“lucky number”的情况,输出了一个奇怪的“1348424261 0”,不知道是哪里出了问题,想请教各位专家们问题的所在。

打断点调试就行

题目让你找最小值,你为什么找最大值
而且
if(b[i]<b[i+1])
{
max=b[i+1]; //依次判断大小并累计最大值
}
你这是认真的吗