Maison >développement back-end >Golang >Comment ajouter des nombres négatifs exclus

Comment ajouter des nombres négatifs exclus

PHPz
PHPzavant
2024-02-09 23:30:09597parcourir

Comment ajouter des nombres négatifs exclus

l'éditeur php Yuzai vous présente comment ajouter une méthode pour exclure les nombres négatifs dans la programmation. Dans certains cas, nous devons restreindre les valeurs d'entrée pour garantir qu'elles ne sont pas négatives. Ceci est particulièrement important dans les scénarios où des valeurs positives sont requises, comme l'argent ou l'âge. Nous pouvons y parvenir facilement en utilisant des instructions conditionnelles et des fonctions mathématiques. Ensuite, nous verrons en détail comment ajouter des méthodes pour exclure les nombres négatifs dans différents langages de programmation pour vous aider à résoudre ce problème courant.

Contenu des questions

<code>
Write a program that queries the user for three positive integers and
displays messages:

All numbers are equal if all three numbers are equal

Two numbers are equal if any two numbers out of three are equal

All numbers are different if all three numbers entered are different


If there is an error in the input data, e.g., negative numbers are
entered, the program should display the message Invalid Input
</code>
package main

import (
    "fmt"
)

func main() {
    var a, b, c int
    fmt.Scan(&a)
    fmt.Scan(&b)
    fmt.Scan(&c)
    if (a != b && a > 0) && (b != c && c > 0) && (a != c && b > 0) {
        fmt.Print("All the numbers are different")
    } else if a == b && b == a && a == c && c == b {
        fmt.Print("All numbers are equal")
    } else if (a == b && b > 0) || (b == a && a > 0) || (c == a && a > 0) || (c == b && b > 0) {
        fmt.Print("Two numbers are equal")
    } else {
        fmt.Print("Invalid request")
    }
}

Comment puis-je faire en sorte que le programme génère une mauvaise requête si j'entre par exemple -4 -4 -4 ?

Solution

Utilisez un ensemble. La manière idiomatique d’implémenter des collections dans Go consiste à utiliser des cartes.

Vérifiez ensuite la durée de la collection.

package main

import (
    "fmt"
)

func main() {

    var a int = 5
    var b int = 9
    var c int = 5

    fmt.Scan(&a)
    fmt.Scan(&b)
    fmt.Scan(&c)

    s := map[int]bool{a: true, b: true, c: true}

    if a < 0 || b < 0 || c < 0 {
        fmt.Print("Invalid request")
    } else if len(s) == 3 {
        fmt.Print("All the numbers are different")
    } else if len(s) == 2 {
        fmt.Print("Two numbers are equal")
    } else if len(s) == 1 {
        fmt.Print("All numbers are equal")
    }

}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer