#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//1.一组无序数,输出有序化后中间的数
//先输入欲输入数字的个数,如n,然后输入n个数字,输出排序后最中间的数字,若n为奇数,输出一个,偶数输出两个,并且输出排序之前此数字所在位置,从1开始计数
//如 n=5,输入 9 2 7 1 6,则输出 6 5
void main(){
int num;
printf("请输入数字的个数:");
scanf("%d",&num);
int array[num];
int array2[num];
int i;
for(i=0;i<num;i++){
printf("请输入第%d个数:",i+1);
scanf("%d",&array[i]);
array2[i]=array[i];
}
Sort(array,array2,num);
}
int GetMiddleNumIndex(int middleIndex,int ary[],int length){
int i,index=0;
for(i=0;i<length;i++){
if(ary[i]==middleIndex){
index=i+1;
break;
}
}
return index;
}
void Sort(int array[],int array2[],int num){
int i,j;
for(i=0;i<num-1;i++){
for(j=i+1;j<num;j++){
if(array2[i]>=array2[j]){
int temp;
temp=array2[i];
array2[i]=array2[j];
array2[j]=temp;
}
}
}
for(i=0;i<num;i++){
printf("%d\n",array2[i]);
}
if(num%2==0){
int middleIndex1=num/2-1;
int middleIndex2=num/2;
printf("中间的第一个数为:%d\n",array2[middleIndex1]);
printf("中间的第二个数为:%d\n",array2[middleIndex2]);
printf("中间的第一个数位置:%d\n",GetMiddleNumIndex(array2[middleIndex1],array,num));
printf("中间的第二个数位置:%d\n",GetMiddleNumIndex(array2[middleIndex2],array,num));
}
else{
int middleIndex=(num-1)/2;
printf("中间的数是:%d\n",array2[middleIndex]);
printf("中间的数的位置是:%d\n",GetMiddleNumIndex(array2[middleIndex],array,num));
}
}