- 締切済み
C++での質問
はじめまして。現在C++でプログラミングの勉強をしています。そこで逆数の和を求める問題があるのですが、1÷3や1÷7といった計算を1/3,1/7というように入力したのですが、なぜか"0.00000"と表示されてしまいます。ためしに6÷4といった計算を"4/6"と入力しても、"1.000000"と小数点以下の値が表示されないんです。変数の宣言はdouble型でやったのですが・・・なぜでしょうか?もし分かる方いましたら、教えてください!!
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- koko_u_
- ベストアンサー率18% (459/2509)
回答No.2
どこが間違っているかを知りたい場合は、あなたが書いたコードを質問欄に書かないと みんな「想像で」回答するしかなくなってしまいます。
- himajin100000
- ベストアンサー率54% (1660/3060)
回答No.1
(double)1/(double)3 とか 1.0/3.0 だ。 1/3をdoubleの変数に格納した場合 (double)((int)1/(int)3)となる。 int同士に/演算子を使うとその商になるから (double) 0となる
お礼
ご指摘ありがとうございます。 今回の問題はとりあえず解決いたしました!!次からはコードやプログラム本文を質問に掲載するようにします。 今後また質問することがあると思いますがそのときはよろしくお願いします!!