ID非公開

2021/12/13 0:56

22回答

C言語独学中の初心者です。

画像

ベストアンサー

0
画像

おまけ。 ●コーディングについて 変数AMARIを使わず、次のようにも書ける。 ((num%16)<10) ? (str[i]=(num%16)+48) : (str[i]=(num%16)+55); そうしなかったのは、「演算回数は少なくしたい」というクセにしたがっただけで、この程度の処理なら、その都度演算しても実際上の問題はない。 また、演算子そのものに優先順位があるので、上記のようにカッコだらけにしなくても良いのだろうが、多く使うのもクセ。 ●実行例 添付図の、緑は正しい入力値と出力 赤は不正な入力とエラーメッセージ 添付図

画像

ThanksImg質問者からのお礼コメント

またお願いします!ありがとうございます!

お礼日時:1/25 17:26

その他の回答(1件)

2

単に変換するだけであれば、sprintfで変換できます。 そうでない方法でわざわざ書くという事は、プログラムの作り方そのものよりも、 進数の変換の方法を理解しているか?が求められているのだと思います。 なのでまずは、10進数を手作業で16進数に変換する際の手順を書き出してみて下さい。 それを元にソースコードでそれを書くとどうなるかという順番に進めてゆきます。

2人がナイス!しています