Используя функцию, чтобы найти минимум трех значений [в режиме ожидания]

Включите опцию autocd (shopt -s autocd), так что вам не нужно набирать cd. Например, вам нужна двухсимвольная команда .., чтобы перейти в родительский каталог.

Если вы перемещаетесь между двумя каталогами, вы можете переключаться между ними с помощью cd -, который идет на предыдущий рабочий каталог. Опция autocd не делает - run cd -, но вы можете определить псевдоним или функцию для этого.

Вы можете запомнить каталоги в стеке со встроенными autocd вариант и popd.

Если вы часто меняете подкаталоги определенного каталога, и эти подкаталоги имеют довольно уникальное имя, добавьте их в папку popd . Однако следует предупредить, что я никогда не находил ситуации, когда CDPATH был действительно удобен.

Вы можете установить переменную в имя каталога, а затем изменить ее с помощью $foo.

Zsh dirs имеет несколько приятных функций, которых у bash нет. Некоторые из них могут быть эмулированы путем написания функций, выполняющих ту же работу. В частности, форма с двумя аргументами cd позволяет удобно переключиться на другой каталог с похожим именем, например. из /home/thina/teams/td/tech/app/release/apks/com.acme/v1, запуск cd release beta переходит к /home/thina/teams/td/tech/app/beta/apks/com.acme/v1.

-15
задан 13 August 2018 в 15:00

2 ответа

для double:

int main(void)
{
     double a, b, c, temp, min;

     printf ("Enter three nos. separated by spaces: ");
     scanf ("%lf%lf%lf", &a, &b, &c);

     temp = (a < b)    ? a : b;
     min =  (c < temp) ? c : temp;

     printf ("The Minimum of the three is: %lf", min);

     /* indicate success */
     return 0;
 }

метод для double :

int main(void)
{
    int a, b, c, temp, min;

    printf ("Enter three nos. separated by spaces: ");
    scanf ("%d%d%d", &a, &b, &c);

    temp = (a < b)    ? a : b;
    min =  (c < temp) ? c : temp;

    printf ("The Minimum of the three is: %d", min);

    /* indicate success */
    return 0;
}
1
ответ дан 15 August 2018 в 17:02
  • 1
    OP хочет обрабатывать значения с плавающей запятой ... Кроме того, вы должны проверить возвращаемое значение scanf(). – chqrlie 13 August 2018 в 15:34

Прежде всего, вы должны иметь тип возврата double для функции minValue

. Тогда вашей логикой должно быть 3 числа a, b, c и другое double temp Тогда .. .

If (a < b)

Temp = a

Else

Temp = b

If(temp < c)

Return temp

Else 

Return c
0
ответ дан 15 August 2018 в 17:02
  • 1
    Это работает для определенных значений, но вы также должны гарантировать, что NaN будет возвращен, если любой из x, y или z равен NaN. – chqrlie 13 August 2018 в 15:31
  • 2
    @chqrlie Обновлено соответственно. – kiran Biradar 13 August 2018 в 16:38
  • 3
    Общее использование NAN с такими минимальными проблемами для него игнорирует это значение из соображений, поэтому min(1.0, 2.0, NAN) - & gt; min(1.0, 2.0) и т. д. – chux 13 August 2018 в 17:35
  • 4
    FWIW спецификацией в исходной версией вопроса было: min (x, y, z) должно быть равно одному из x, y и z; min (x, y, z) меньше или равно всем x, y и z. Что бы исключить NaNs, поскольку они не могут удовлетворить ни одно из них. – Rup 14 August 2018 в 02:34

Другие вопросы по тегам:

Похожие вопросы: