Как вывести знаки после запятой?
Я делаю вот так:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
double index;
double sumS = 0;
cin >> index;
for (double i = 1; i <= index; i++)
{
sumS += double(1 / i);
}
cout << setprecision(4) << sumS;
}
Но когда поступает число 1, то выводом будет 1, а не 1.000. Или при числе 2, выводом будет 1.5 вместо 1.500.
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вам поможет
cout << fixed << setprecision(4) << sumS;
Только я бы на вашем месте не делал сугубо целочисленное значение значением типа double...
int index;
double sumS = 0;
cin >> index;
for (int i = 1; i <= index; i++)
{
sumS += 1.0 / i;
}
cout << fixed << setprecision(4) << sumS;
Да, и, кстати говоря (хотя при обычных значениях это не играет роли), если есть возможность — лучше суммировать от малых слагаемых к большим:
int index;
double sumS = 0;
cin >> index;
for (int i = index+1; i-->0;)
{
sumS += 1.0 / i;
}
cout << fixed << setprecision(4) << sumS;