結果

問題 No.275 中央値を求めよ
ユーザー _S_O_D_A_
提出日時 2015-09-15 09:42:55
言語 C90
(gcc 12.3.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 876 bytes
コンパイル時間 423 ms
コンパイル使用メモリ 22,144 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-06-24 23:17:15
合計ジャッジ時間 1,568 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 38
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:8:5: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    8 |     scanf("%d",&data_num);
      |     ^~~~~~~~~~~~~~~~~~~~~
main.c:15:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   15 |         scanf("%d", &data_array[i]);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~

ソースコード

diff #

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

int main(void)
{
    int data_num;
    scanf("%d",&data_num);

    int *data_array;
    data_array = (int *)malloc( sizeof(int)*data_num );

    int i=0;
    for( ; i<data_num; i++)
        scanf("%d", &data_array[i]);

    for( i=0; i<data_num-1; i++)
    {
        int j=0;
        bool swapped = false;
        for( j=0; j<data_num-i-1; j++)
        {
            if(data_array[j] > data_array[j+1])
            {
                int tmp = data_array[j];
                data_array[j] = data_array[j+1];
                data_array[j+1] = tmp;
                swapped = true;
            }
        }
        if(!swapped)
        	break;
    }
    
    if(data_num%2==1)
    	printf("%d\n", data_array[data_num/2]);
    else
    	printf("%2.1f\n", (float)((data_array[data_num/2-1]+data_array[data_num/2]))/2.0);
}
0