#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int compare(const void* a, const void* b)
{return(*(int*)a - *(int*)b);
}
int find(int* shops, int arrNum)
{qsort(shops,arrNum,sizeof(int),compare); int pos = shops[arrNum / 2];return pos;
}
int sum(int pos,int* shops, int arrNum)
{int total = 0;for (int i = 0; i < arrNum; i++){total += abs(pos - shops[i]);}return total;
}int main(int argc, char* argv[])
{int n = 0;printf("请输入商店数量:");scanf_s("%d",&n);int* shops = (int*)malloc(sizeof(int) * n);printf("输入商店坐标\n");for (int i = 0; i < n; i++){printf("第%d间商店:",i+1);scanf_s("%d",shops+i);}int pos = find(shops, n);int total = sum(pos, shops, n);printf("货仓坐标:%d,最短距离:%d\n",pos,total);return 0;
}
