/* Part5 演習問題3 */
/* 関数を用いた3個の整数の大小比較 */
#include <stdio.h>
int max3(int,int,int) ;

int main(void)
{

  int x,y,z ;

  printf("\n3個の整数:") ;
  scanf("%d %d %d",&x,&y,&z) ;

  printf("もっとも大きな値は%dです。\n",max3(x,y,z)) ;
  return(0) ;
}

int max3(int x, int y, int z)
{

  if(x>y) {
    if(x>z) {
      return(x) ;
    }
    else {
      return(z) ;
    }
  }
  else {
    if(y>z) {
      return(y) ;
    }
    else {
      return(z) ;
    }
  }
}

% gcc -Wall part5-3.c
% ./a.out

3個の整数:1 2 3
もっとも大きな値は3です。
% ./a.out

3個の整数:1 3 2
もっとも大きな値は3です。
% ./a.out

3個の整数:2 1 3
もっとも大きな値は3です。
% ./a.out

3個の整数:2 3 1
もっとも大きな値は3です。
% ./a.out

3個の整数:3 2 1
もっとも大きな値は3です。
% ./a.out

3個の整数:3 1 2
もっとも大きな値は3です。

  1. 3個の整数の大小関係は全部で6通りある.これらの組み合わせすべてについて実行してみた.
  2. 同じ値のケースでは,どちらの値を選択してもよいことになる.実行例は省略した.