Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> sistemi >> Unix >> .

Programma per trovare il più grande di tre numeri in Unix?

Esistono diversi approcci per trovare il massimo di tre numeri in Unix, usando strumenti diversi. Ecco alcuni esempi:

1. Usando `awk`:

Questa è una soluzione concisa ed efficiente:

`` `Bash

awk '{print ($ 1> $ 2? ($ 1> $ 3? $ 1:$ 3):($ 2> $ 3? $ 2:$ 3))}' <<<"10 5 15"

`` `

* `<<<" 10 5 15 "` Fornisce i tre numeri come input. Sostituiscili con i tuoi numeri o variabili effettivi.

* Lo script `Awk` utilizza gli operatori ternari nidificati per confrontare i numeri in modo efficiente.

2. Usando `bash` (con espansione aritmetica):

Questo è più leggibile ma leggermente meno conciso della soluzione `Awk`:

`` `Bash

Num1 =10

Num2 =5

Num3 =15

grande =$ ((NUM1> NUM2? NUM1:NUM2))

più grande =$ ((grande> num3? Grande:num3))

Echo $ più grande

`` `

Questo script confronta prima `num1` e` num2`, assegnando il più grande a `grande '. Quindi confronta `Great` con` Num3`, aggiornando `Greatest` se necessario.

3. Usando `bc` (per numeri a punto mobile):

Se è necessario gestire i numeri a punto mobile, `BC` (Calcolatrice di base) offre più precisione dell'espansione aritmetica di Bash:

`` `Bash

Num1 =10.5

Num2 =5.2

Num3 =15.8

grande =$ (echo "$ num1> $ num2? $ num1:$ num2" | bc -l | bc -l)

grande =$ (echo "$ più grande> $ num3? $ più grande:$ num3" | bc -l)

Echo $ più grande

`` `

Questo approccio utilizza `bc -l` (con l'opzione` -l` per le funzioni della biblioteca matematica) per confronti e calcoli a virgola mobile. Il doppio uso di `bc` è gestire efficacemente il ternario nidificato poiché` bc` non supporta direttamente le espressioni ternarie nidificate nello stesso modo in cui bash.

4. Funzione in bash:

Per riusabilità, crea una funzione bash:

`` `Bash

GreatSt_of_three () {

Num1 =$ 1

Num2 =$ 2

Num3 =$ 3

grande =$ ((NUM1> NUM2? NUM1:NUM2))

più grande =$ ((grande> num3? Grande:num3))

Echo $ più grande

}

Echo $ (GreatS_OF_Three 10 20 15) # Output:20

`` `

Questa funzione prende tre argomenti e restituisce il massimo.

Ricorda di sostituire i numeri di esempio con i valori effettivi. Scegli il metodo che si adatta meglio alle tue esigenze e allo stile di codifica. La soluzione `Awk` è generalmente preferita per la sua brevità ed efficienza se si ha a che fare con i numeri interi, mentre l'approccio` BC` è necessario per i numeri a punta mobile. La funzione Bash fornisce un'organizzazione di codice migliore per scenari più complessi.

 

sistemi © www.354353.com