函数调用好像不对,该怎么改,求大神指教
#include<stdio.h>
int n=15;
int S[100];
int k,i,j,x;
void Select(int arr[n],int k)
{
int M[5][n/5];
int m,m1,f,t;
int t1[5],S1[50],S2[50];
for(i=0;i<5;i++){
for(j=0;j<n/5;j++){
M[i][j]=S[m];
m++;
}
}
for(j=0;j<n/5;j++){
for(m=4;m>0;m--){
for(i=0;i<m;i++){
if(M[i][j]>M[i+1][j]){
t=M[i][j];
M[i][j]=M[i+1][j];
M[i+1][j]=t;
}
}
}
}
for(i=0;i<n/5;i++){
for(j=0;j<(n/5-i);j++){
if(M[2][j]>M[2][j+1]){
for(m=0;m<5;m++){
t1[m]=M[m][j];
M[m][j]=M[m][j+1];
M[m][j+1]=t1[m];
}
}
}
}
f=(n/5+1)/2-1;
m1=M[2][f];
t=0;m=0;
for(i=0;i<2;i++){
for(j=0;j<f;j++){
if(M[i][j]<m1){
S1[t]=M[i][j];
t++;
}
else if(M[i][j]>m1){
S2[m]=M[i][j];
m++;
}
}
}
for(i=3;i<5;i++){
for(j=f+1;j<n/5;j++){
if(M[i][j]<m1){
S1[t]=M[i][j];
t++;
}
else if(M[i][j]>m1){
S2[m]=M[i][j];
m++;
}
}
}
for(i=2;i<5;i++){
for(j=0;j<f;j++){
S1[t]=M[i][j];
t++;
}
}
S1[t]=M[3][f];t++; S1[t]=M[4][f];
for(i=0;i<3;i++){
for(j=f+1;j<n/5;j++){
S2[m]=M[i][j];
m++;
}
}
S2[m]=M[0][f];m++;S2[m]=M[1][f];
x=sizeof(S1)/sizeof(int);
if(k=x)
printf("%d",m1);
else if(k<=x)
Select(S1,k);
else
Select(S2,k-x-1);
}
int main(){
printf("please input arry S[15]\n");
for(i=0;i<n;i++){
scanf("%d",&S[i]);
printf("%d\t",S[i]);}
printf("please input k\n");
scanf("%d",k);
Select(S,k);
return 0;
}