刚学c语言课,求帮看指导

原题:
输入N个学生的C语言程序设计课程成绩,请你设计一个函数来编程找出这些学生的最高分、并列第一的学生数。
函数原型:int search(int x[], int n, int *count);

输入

输入包含两行:
第一行是N(0 < N < 1000)。
第二行是N个整数,代表N个学生的C语言程序设计课程成绩,邻近两数之间用一个空格隔开。

输出

按照题目要求输出最高分和取得最高分的学生数,用一个空格隔开。

输入示例

10
52 95 87 69 78 84 82 95 90 95

输出示例

95 3

数据范围
输入和输出均为int范围的整数,对于100%的数据,0 < N < 1000
我的:

#include 
int x[1000];
int *count=0;
int search(int x[], int n, int *count)
{int i,j,temp;
 for(i=0;i<n;i++)
 {for(j=0;j<n-i;j++)
 if(x[j]1])
  {
  temp=x[j];
  x[j]=x[j+1];
  x[j+1]=temp;}
  
 }
 for(i=0;i<n;i++)
 if(x[i]==x[0]){
 *count+=1;}
 return *count;
}
 int main(){
 int N,i;
 
 scanf("%d",&N);
 for(i=0;i<N;i++)
{
 scanf("%d",x[i]);
 search(x,N,count);}
 printf("%d %d",x[0],*count);
 return 0;
 
 }

输出不了结果,求看看哪里出问题

修改如下, 供参考:

#include <stdio.h>
int x[1000];
int count = 0;  //int* count = 0; 修改
int search(int x[], int n, int* count)
{
    int i, j, max; //temp;修改
    max = x[0];
    for (i = 0; i < n; i++)
    {
        //for (j = 0; j < n - i; j++) 修改
        if (max < x[i])
        {
            max = x[i];
            //temp = x[j];  修改
            //x[j] = x[j + 1];
            //x[j + 1] = temp;
        }
    }
    for (i = 0; i < n; i++)
        if (x[i] == max) {
            (*count) += 1;  //修改
        }
    return max; //return *count;修改
}
int main() {
    int N, i, max;
    scanf("%d", &N);
    for (i = 0; i < N; i++)
        //{  修改
        scanf("%d", &x[i]); //scanf("%d", x[i]);修改
    max = search(x, N, &count); //(x, N, *count);修改
    //}  修改
    printf("%d %d", max, count);
    //printf("%d %d", x[0], *count);修改
    return 0;
}

主函数里的search函数应该这样传参:search(x,N,&count);因为在定义search函数时,count变量是指针,所以应该把地址给它