- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:c言語超初心者です。2)
C言語初心者が三つの整数の合計と平均を求める方法
このQ&Aのポイント
- C言語の超初心者が三つの整数の合計と平均を求めるプログラムを作成しましたが、合計の表示方法や平均の計算方法について疑問があります。
- プログラムでは、整数を10進法で少なくても5桁で表示するように指定されていますが、入力した数値の合計が5桁にならない場合でも問題ありませんか?
- また、平均の計算方法として、ave=(double)sum/3;としていますが、ave=sum/3.0としても正常に動作します。どちらが適切な方法であり、その理由を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>printf("それらの合計は%5dです。\n", sum); 確かに5桁で埋めますが、数字の左側4桁分空白で埋まってませんでしたか? >ave=(double)sum/3; sumがint型なので、3で構いません。
その他の回答 (3)
- ham_kamo
- ベストアンサー率55% (659/1197)
回答No.4
No.2です。 > すくなくても05桁で表示ってどういうこと?? %05d と言うのは「少なくとも05桁」というわけでなく、少なくとも5桁だけど5桁に満たない時はは0で埋める、という意味です。 printf()の書式に関しては、下記のサイトを参考にしてください。 http://www.mm2d.net/c/c-01.shtml
noname#22058
回答No.3
> ave=(double)sum/3;のところをave=sum/3.0としても ave = (double) sum / 3; でも ave = sum / 3.0; でも ave = sum / (double) 3; でも ave = (double) sum / (double) 3; でも どれでもかまいません。 好きなのを使ってください。
質問者
お礼
おお!結構自由なんですねプログラムって。大変参考になりました。
- ham_kamo
- ベストアンサー率55% (659/1197)
回答No.2
もし 00006 と出したいのなら、 printf("それらの合計は%05dです。\n", sum); とする必要があります。
質問者
補足
ほんとだ、、でもなんでそうなるんですか?すくなくても05桁で表示ってどういうこと??
お礼
なんと空白があった!そういうことだったのか。。。本当にありがとうございました。