私はTaylor Sequenceを使ってe
に近いプログラムを作ろうとしています。 しかし、私はC++でかなりノービッシュな気分にさせる問題に出くわしました。変数e
は浮動小数点ですが、cout << e << "\n";
を使用するたびに、コード内の任意のポイントで出力する必要があるものは2.0または2.7でなく2を出力します。C++でfloat値を出力する方法は?
int main() {
float e = 1.0;
int d = 1;
int counter = 25;
while(counter>=1){
counter-=1;
e+=(1/fact(d));
d++;
cout << e << "\n";
}
}
fact()
は階乗を計算数の(!):ここにmain()
コードです。私がプログラムを実行するとき、私は2
と言う25行を得る。私は間違って何をしていますか?機能の前には#include <iostream>
とusing namespace std;
があります。
'fact'が整数を返すと仮定すると、' 1/fact(d) 'を' 1.0/fact(d) 'に変更します。 –
浮動小数点数の出力に問題があると思われる場合は、 'float x = 2.7; std :: cout << x << '\ n'; '。 – juanchopanza
@barakmanosありがとうございます。出来た。私は 'int/int'がfloatを出力すべきであると仮定していました。 1.0にしました。 –