• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:c言語超初心者です。2)

C言語初心者が三つの整数の合計と平均を求める方法

このQ&Aのポイント
  • C言語の超初心者が三つの整数の合計と平均を求めるプログラムを作成しましたが、合計の表示方法や平均の計算方法について疑問があります。
  • プログラムでは、整数を10進法で少なくても5桁で表示するように指定されていますが、入力した数値の合計が5桁にならない場合でも問題ありませんか?
  • また、平均の計算方法として、ave=(double)sum/3;としていますが、ave=sum/3.0としても正常に動作します。どちらが適切な方法であり、その理由を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Nigun
  • ベストアンサー率22% (200/893)
回答No.1

>printf("それらの合計は%5dです。\n", sum); 確かに5桁で埋めますが、数字の左側4桁分空白で埋まってませんでしたか? >ave=(double)sum/3; sumがint型なので、3で構いません。

dasuthin
質問者

お礼

なんと空白があった!そういうことだったのか。。。本当にありがとうございました。

その他の回答 (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
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; でも どれでもかまいません。 好きなのを使ってください。

dasuthin
質問者

お礼

おお!結構自由なんですねプログラムって。大変参考になりました。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

もし 00006 と出したいのなら、 printf("それらの合計は%05dです。\n", sum); とする必要があります。

dasuthin
質問者

補足

ほんとだ、、でもなんでそうなるんですか?すくなくても05桁で表示ってどういうこと??

関連するQ&A