Лишние нули при выводе целых чисел - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как решить проблему я к сожалению не нашел в интернете. Суть в том, что в консоль при выводе float целое число, например 5, выводиться как 5,0000000 И числа такие как 5,25 выводятся 5,2500000 Как это решить? Код у меня такой:
float a,b,c,x;
int x1,x2,dx,i;

float func(float aa, float bb, float cc, int xx)
{
    if (((aa*xx)==0)||(xx==0)||((cc-4)==0))
    {
        return -6000;
    }
    else
    {
        if ( ((xx+5<0) && (cc==0) ) || ( (xx+5>0) && (cc!=0)) )
        {
            if ((xx+5<0)&&(cc==0)) return ((1/aa*xx)-bb);
            if ((xx+5>0)&&(cc!=0)) return ((xx-aa)/xx);
        }
        else
        {
            return ((10*xx)/(cc-4));
        }
    }
}
 
void main()
{
     for (int i=x1;i<=x2;i=i+dx)
     {
    x=func(a,b,c,i);
    if (x==-6000) printf("F(%i) = error\n", i); else printf("F(%i) = %f\n", i, x);
      }
}

Решение задачи: «Лишние нули при выводе целых чисел»

textual
Листинг программы
printf("F(%i) = %g\n", i, x);

Объяснение кода листинга программы

Код представлен одним предложением и выполняет следующие действия:

  1. Выводит значение переменной i в формате F(%i) = %.2g\n.
  2. F - это спецификатор формата для функции printf, который указывает как следует форматировать вывод.
  3. i - это переменная, значение которой будет выводиться на экран.
  4. x - это переменная, значение которой будет выводиться на экран.
  5. %.2g - это спецификатор формата, который указывает на то, что число должно быть выведено в научной нотации с двумя знаками после запятой.
  6. \n - это символ новой строки, который указывает на то, что вывод должен быть перенесен на новую строку.

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы