ID非公開さん
2022/1/26 11:42
3回答
3つの整数を受け取り大小比較し、真ん中の値をreturn で返す関数を作成し、結果を表示するプログラムを作成しなさい。
3つの整数を受け取り大小比較し、真ん中の値をreturn で返す関数を作成し、結果を表示するプログラムを作成しなさい。 このプログラムを教えてください。
C言語関連・66閲覧
ベストアンサー
#include <stdio.h> #include <stdlib.h> #include <time.h> int calc_median(int val1, int val2, int val3) { int max, min; // 最大値を求める max = val1; if (val2 > max) max = val2; if (val3 > max) max = val3; // 最小値を求める min = val1; if (val2 < min) min = val2; if (val3 < min) min = val3; // 中央値 = 3つの数の和 - (最大値 + 最小値) return val1 + val2 + val3 - (max + min); } int main(void) { int val1, val2, val3; // 乱数を発生 srand((unsigned int)time(NULL)); val1 = rand() % 100 + 1; val2 = rand() % 100 + 1; val3 = rand() % 100 + 1; // 値の表示 printf("%d, %d, %d\n", val1, val2, val3); // 中央値の表示 printf("中央値 = %d\n", calc_median(val1, val2, val3)); return 0; } ======== 【実行例】 42, 68, 35 中央値 = 42
質問者からのお礼コメント
回答ありがとうございます! 3名もの方に回答していただき、どれも分かりやすかったです。 今回は一番最初に回答をしていただいた方をベストアンサーにさせていただきたいと思います。本当にありがとうございました。
お礼日時:1/26 19:47