中央値をifで

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 中央値をifで

Re: 中央値をifで

#5

by box » 1年前

データが3つしかないならif文でもよいかもしれませんが、
データがもっと多くなったときや個数が偶数の場合などに
対応することを考えると、別の回答にあるとおり
ソートして求める(関数を作る)のが妥当ではないかと思います。

Re: 中央値をifで

#4

by みけCAT » 1年前

・共通の出力を行う部分は1個にまとめる
・それぞれの値が中央値になっているかを確認し、中央値になっているものを出力する

コード:

#include <stdio.h>
int main(void)
{
    int a, b, c;
    /* a, b, c の入力 */

    printf("(%d, %d, %d)の中央値は ", a, b, c);
    if ((b <= a && a <= c) || (c <= a && a <= b)) printf("%d", a);
    else if ((a <= b && b <= c) || (c <= b && b <= a)) printf("%d", b);
    else printf("%d", c);
    /* 一般的ではないと思うが、もとのコードを尊重して改行ではなくU+00A5とnを出力する */
    printf("¥n");
    return 0;
}

Re: 中央値をifで

#3

by あたっしゅ » 1年前

東上☆海美☆「
配列に入れて、ソートして、中央の値([ 0 ][ 1 ][ 2 ] の場合は、[ 1 ])を取り出せば、いいのでは ?

Re: 中央値をifで

#2

by みけCAT » 1年前

ソースコードを提示する際は、BBCodeが有効な(無効にしない)状態で、
BBCodeのcodeタグの開始タグと終了タグの組(開始タグが先)で囲んでいただけると、
見やすくてありがたいです。

コードしか書かれていないようですが、何か質問はありますか?

中央値をifで

#1

by たくみ » 1年前

#include <stdio.h>
int main(void)
{
int a, b, c;
/* a, b, c の入力 */
if(a >= b){
if(b >= c) {
printf("(%d, %d, %d)の中央値は %d¥n", a, b, c, b); } else if(a >= c) {
printf("(%d, %d, %d)の中央値は %d¥n", a, b, c, c); } else {
printf("(%d, %d, %d)の中央値は %d¥n", a, b, c, a); }
} else if(/* ......以降,考えてみること */ return 0;

ページトップ