Вывести число в переменное число десятичных знаков

Я хотел напечатать число с переменным числом десятичных знаков в C. Я написал код

#include<stdio.h>
main()
    {   int a;
        printf("Upto which number of decimal places you want to print value of '2.554648' ?");
        scanf("%d", &a);
        printf("Value of '2.554648 upto %d number of decimal places = %.af", a, 2.554648);
        return 0;
    }

2 ответа

Решение

Использование * в printf() чтобы отметить, сколько десятичных разрядов вы хотите:

#include <stdio.h>

int main(void)
{
    int a;

    printf("Upto which number of decimal places you want to print value of '2.554648' ?");
    scanf("%d", &a);
    printf("Value of '2.554648 upto %d number of decimal places = %.*f", a, a, 2.554648);

    return 0;
}

Вам нужно * спецификатор формата. Вот короткий пример (см. В идеоне):

#include <stdio.h>

int main(void) {
    int a = 5;
    double temp = 5.0 / 7;
    printf("%.*f",a, temp);
    return 0;
}
Другие вопросы по тегам