啊调了一个晚下了。还是没想出哪里逻辑异常。就是不出结果,编译没有关问题的

求助啊,调了一个晚上了。还是没想出哪里逻辑错误。就是不出结果,编译没问题的
#include<stdio.h>  

int array[400010];

int main()
{
  int n,i,j;
  int temp,num;
  scanf("%d",&n);
   
  for(i=0;i<n;i++)
{
scanf("%d",&array[i]);

}

  for(i=0;i<n;i++)
  {
  for(i=j+1;j<n;j++)
  {
  if(array[i]>array[j])
  {  
  temp=array[i];
  array[i]=array[j];
  array[j]=temp;
  }
  }
  }  
  temp=array[n/2+1];
  num=0;
  for(i=0;i<n;i++)
  {  
  if(temp==array[i])
   
  num++;  
  }
  if(num<=n/2)
{  
temp=0;
printf("%d",temp);
}
  else
  printf("%d",temp);

  return 0;
   
}

------解决方案--------------------
C/C++ code
for(i=0; i<n; i++)
    {
        for(j=i+1; j<n; j++)    //这里写错了,是给j赋值...
        {
            if(array[i]>array[j])
            {
                temp=array[i];
                array[i]=array[j];
                array[j]=temp;
            }
        }
    }

------解决方案--------------------
我没看到你的j在哪初始化
------解决方案--------------------
C/C++ code

//冒泡排序
for(i=0;i<n;i++)//改为:for(i=0;i < (n-1);i++)
  for(i=j+1;j < n;j++)//改为:for(j=i+1;j < n;j++)

------解决方案--------------------
跟踪调试下
------解决方案--------------------
不知道你程序什么意思
1. int array[400010];
2. for(j=i+1; j<n; j++)
3.程序输出结果必定为0
C/C++ code
  temp=array[n/2+1];
  num=0;
  for(i=0;i<n;i++)
  {   
  if(temp==array[i])
    
  num++;   
  }
  if(num<=n/2)
{      
temp=0;
printf("%d",temp);
}