C++で困っています。かなり初歩的だと思いますがよろしくお願いします。
C++で困っています。かなり初歩的だと思いますがよろしくお願いします。
ぼくは今C++をVS2008コンパイラを使って学んでいます。
参考書として、柴田望洋様著の「明解C++入門編」というものを読んでいます。
そこで演習問題として以下の問題が出されました。
「キーボードから読み込んだ三つの整数の中央値を求めて表示するプログラムを作成せよ。」
*たとえば2,3,1だったら2で、1,2,1だったら1で、3,3,3だったら中央値は3です。
そこで僕は以下のようなコードを書きました。
#include<iostream>
using namespace std;
int main()
{
int a, b, c;
cout << "三つ入力してください";
cin >> a >> b >> c;
int center = a;
if(center < b && center < c)
if(b > c)
center = c;
else
center = b;
if(center > b && center > c)
if(b > c)
center = b;
else
center = c;
cout << "中間値は" << center << "です" << endl;
return 0;
}
しかし当本では演習問題をより考えてもらうために答えがありません。
一応はこれで指定されたとおりに実行はできるのですが、やはりまだコードが長い気がしてなりません。
考えてもこれ以上のものが考え付かないのですが、これより短く効率の良いものがあるとは思うことができるのです。
そこで本題ですが、もっとコードを短縮して書くことはできないでしょうか?
是非ともよろしくお願いします!
お礼
今更ですがありがとうございました!