お題:
①プログラム実行中に3つの”整数”(正負に対応)の入力を受け付け、一番大きい数字を表示させる。
②100と一番大きい数字との差を正の整数で表示させる。
注意:ifとelseは使ってはいけない。①、②とも条件演算子を用いたプログラムにせよ。
プログラム実行例
整数を3つ入力してください。 a: b: c: 一番大きい数字は: 一番大きい数字と100との差は: |
必須文字列
・条件演算子 ___ ? ____ : ____
条件演算子の使い方をマスターしてください。うまく使うとプログラムを簡略化することが出来ます。
解答掲載は7月4日です。それまでに各自プログラムを作成し、
・プログラム文
・その実行ファイル
をメールに添付するか、8G以上云々して提出してください。
質問等はメールまたはコメントにて受け付けます。前回は解答者0だったので、今回は頑張って取り組んでください。
---------------------------------------------------------------
解答
解答例は以下の通りです
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <stdio.h> int main() |
実行例は以下の通りです。
3つの整数a,b,cを入力してください。 |
解説
_条件演算子の使い方についての問題です。条件演算子は次のように書きます。
式1 ? 式2 : 式3 ;
この意味は、「式1が非0なら式2を実行、式1が0なら式3を実行」となります。これをif文で表すとするなら、
if (式1) 式2; else 式3;
となります。
行番号9,10,11
一番大きな整数の選出ですが、まず、とりあえずaを一番大きいと仮定します。次にaとbを比べて、どちらか大きい方をmaxとします。cも同様に比べると、最終的に一番大きい数字がmaxに代入されます。
行番号13
ここでは、maxと100との差を求めています。差なので負にはなりません。なので条件演算子で「max>100ならmax-100、それ以外なら100-max」としています。それ以外の場合には、max=100も入ります。
_差を求める専用の関数もあります。それはabs関数といい、
A=abs(max-100);
と表すことも出来ます。しかし、abs関数を使うには、abs関数が乗ってる辞書、つまり「ライブラリ」がないと、コンピュータは分かってくれません。そのため、プログラムの頭(ヘッダという)に
#include <stdlib.h>
と書きくわえなければなりません。このように、#includeはコンピュータに使う辞書を指定する役割を持っています。stdlib.hが辞書にあたります。
_今回1番解答が早かったのはK林君です。
答えられる範囲で質問受け付けます。
cosmo-cleaner@za.pial.jp
0 件のコメント:
コメントを投稿