お題:
①プログラム実行中に1以上99以下の”2つの整数”a,bの入力を受けつけ、そのa,bの関係(a=b,a<b,a>b)を表示させる。
②a==a,a==0,a<100,a<0,a>0,a>100の関係演算子の結果をそれぞれ表示させる。
プログラム実行例
1以上99以下の整数を2つ入力してください。 a: b: a<bです。 関係演算子の結果は、 ? ? ・・・ |
必須文字列
・if
・else
・==, < , >
ifとelseのスマートな書き方、関係演算子(==,<,>など)の仕組みを理解してください。
解答掲載は6月29日です。それまでに各自プログラムを作成し、
・プログラム文
・その実行ファイル
をメールに添付するか、8G以上のUSBメモリに入れてプレゼントするか、16GのmicroSDに入れてプレゼントするか、1TのHDに入れてプレゼントするか、いずれかの方法で提出してください。
質問等はメールまたはコメントにて。 どんな些細なことでも答えるので、頑張って取り組んでください。
cosmo-cleaner@za.pial.jp
---------------------------------------------------------------
解答
解答例は以下の通りです。
#include <stdio.h>
int main () {
int a,b;
printf("a:"); scanf("%d", &a);
printf("b:"); scanf("%d", &b);
if (a==b)
puts("a=b");
else if (a<b)
puts("a<b");
else if (a>b) //elseのみでも可
puts("a>b");
printf("%d\n %d\n %d\n %d\n %d\n %d\n"
,a == a,a==0,a<100,a<0,a>0,a>100);
}
実行例は以下の通りです。
a:25 |
解説
演算子を使って条件を作りました。ifとelseの書き方は人それぞれですが、”else if ()”とした方がスマートでいいと思います。
②の課題は演算子の本質を知ることが目的です。演算子は2つの関数の関係性について、演算子が表現するものと一致するのかしないのかを、1か0で表します。この場合、例えばa==aは当然成り立つので、”1”が吐き出されます。a==0はaが0で無い限り一致しないので、”0”が吐き出されます。ifの条件で演算子が使えるのは、ifの「0か非0か」という条件分岐に合うからです。
演算子吐き出す1と0はint型なので、扱いには注意してください。
他の演算子として、
a!=b、a<=b、a>=bなどがありますが、自分で調べてみてください。
解答が来ないので、
返信削除解答掲載を1日延期します。