테일러 시퀀스를 사용하여 대략 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()
코드입니다. 프로그램을 실행하면이라고하는 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 '으로 만들었습니다. –