Подтвердить что ты не робот

Распечатайте "+" для положительных чисел в printf

У меня есть программа преобразования температуры как задание, которое я завершил. В программе есть много операторов printf, в которых печатается температура. Теперь отрицательные температуры печатаются так, как я их хочу, но положительные температуры печатаются без знака +.

Теперь, каков наилучший способ получить printf распечатать личный знак + для положительного числа. Все, что я мог придумать, это изменить

printf("Min temp = %d\n",max_temp)

к

if(max_temp > 0)
    printf("+");
printf("Min temp = %d\n",max_temp)

Но это требует многих изменений в программе: (

Другой вариант - написать мою собственную функцию печати и поместить туда эту логику. Что вы предлагаете?

4b9b3361

Ответ 1

Вы можете использовать флаг + printf для печати положительных чисел с помощью знака + как:

printf("%+d %+d",10,-10); // prints +10 -10

Ответ 2

Добавьте флаг+. Вот пример.

int n;
printf("%+d", n);

(предполагая, что n - это int - просто замените% d для других числовых типов)