为什么检查了括号后还是跑不了,第一个函数应该没什么问题,请看第二个函数


/*函数的功能是将学生成绩从高分到低分排序,并统计优秀与不及格的人数。用下面两种方法实现:
(1)函数形式为:int fun1(int s[],int n,int *x)‍
要求优秀人数通过return返回,不及格人数通过指针参数返回结果。‍
(2)函数形式为:void fun2(int s[],int n,int &x,int &y)‍
要求优秀与不及格的人数通过引用参数返回结果。‍
分别编二个函数,学生人数从键盘输入。*/
#include<iostream>
#include <string.h>
using namespace std;
int fun1(int s[],int n,int *x);
void fun2(int s[],int n,int &x,int &y);
int main()
{
int n;
int s[100]={0};
cout<<"请输入学生的总人数:";
cin>>n;
for(int i=0;i<n;i++)
cin>>s[i];
int x=0,y=0;
cout<<"优秀的人数为:"<<fun1(s,n,&x)<<endl;
cout<<"不及格的人数为:"<<x<<endl;
cout<<"下面使用函数二显示结果:"<<endl;
x=0,y=0;
fun2(s,n,x,y);
cout<<"优秀的人数为:"<<x<<endl;
cout<<"不及格的人数为:"<<y<<endl;
system("pause");
return 0;
}
int fun1(int s[],int n,int *x) {
    int i,j,imax,w;
    int excellent=0;
    for(i=0; i<n-1; i++) {
        imax=i;
        for(j=i+1; j<n; j++)
            if(s[j]>s[imax])imax=j;
        w=s[imax];
        s[imax]=s[i];
        s[i]=w;}
        for(int k=0; k<n; k++) {
            if (s[k]>=90)excellent++;
            if(s[k]<60)(*x)++;
        }
    return excellent;
}
 void fun2(int s[],int n,int &x,int &y)‍
 {int i=0,j=0,t=0;
 int imax;
 x=y=0;
 for(i=0;i<n-1;i++)
 {imax=i;
 for(j=i+1;j<n;j++)
 if(s[j]>s[imax])imax=j;
 t=s[i];
 s[i]=s[imax];
 s[imax]=t;}
 cout<<"\n排序后:";
 for(i=0;i<n;i++)cout<<s[i]<<" ";
 for(i=0;i<n;i++){if(s[i]>=90) x++;
 if(s[i]<60) y++;}
 }