Моя цель моей программы - отключить pi в заданной точке, как это продиктовано пользователем.Как автоматически избавиться от конечных нулей?
Я выяснил, как это сделать, но я не могу понять, как избавиться от конечных нулей.
#include <stdio.h>
#include <math.h>
int main()
{
int i,length;
double almost_pi,pi;
printf("How long do you want your pi: ");
scanf("%d", &length);
pi = M_PI;
i = pi * pow(10,length);
almost_pi = i/pow(10,length);
printf("lf\n",almost_pi);
return 0;
}
Предположим, что пользовательские входы 3, он должен вернуть 3.141, но он возвращается 3.141000.
Просьба и спасибо!
http://en.wikipedia.org/wiki/Printf_format_string#Format_placeholders –
Настоящая [статья] [1] поможет вам начать работу в правильном направлении. [1]: http://stackoverflow.com/questions/7425030/how-can-i-limit-the-number-of-digits-displayed-by-printf-after-the-decimal- Точка – jarmod
3.141 - это то же, что 3.141000. В этом отношении он также совпадает с 3.141000000000000000. Ваша проблема заключается в отображении значения, а не в том, что введено. –