#include #define PLUS 0; #define MINUS 1; int main() { int dataNum = 0; double data[1000]; char str='\0'; int mode = PLUS; // データ数取得 scanf("%d\n", &dataNum); // 配列初期化 for (int i = 0; i < dataNum + 1; i++) data[i] = 0; // 数値に変換 for (int i = 0; str != '\n'; ) { str = getchar(); if (str == ' ') { i++; mode = PLUS; } else if (str >= '0' && str <= '9') { if(mode == 0) data[i] = data[i] * 10 + (double)str - (double)'0'; else data[i] = data[i] * 10 - (double)str + (double)'0'; } else if (str == '-') { mode = MINUS; } } // ソート int box = 0; int flg = 0; for (int i = 0;; ) { if (data[i] > data[i + 1]) { box = data[i]; data[i] = data[i + 1]; data[i + 1] = box; flg++; } i++; if (i == dataNum - 1) { if (flg == 0) break; else i = flg = 0; } } // 結果表示 if (dataNum % 2 == 0) { printf("%d", ((data[dataNum / 2 - 1] + data[dataNum / 2]) / 2)); } else printf("%d", data[dataNum / 2]); return 0; }