結果
| 問題 |
No.275 中央値を求めよ
|
| ユーザー |
ReERishun
|
| 提出日時 | 2020-04-01 01:11:18 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,057 bytes |
| コンパイル時間 | 1,204 ms |
| コンパイル使用メモリ | 30,208 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-25 15:44:17 |
| 合計ジャッジ時間 | 2,484 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 37 RE * 1 |
ソースコード
#include<stdio.h>
#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;
}
}
// ソート
double 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("%.1f", ((data[dataNum / 2 - 1] + data[dataNum / 2]) / 2));
}
else
printf("%.1f", data[dataNum / 2]);
return 0;
}
ReERishun