登录
首页 >  Golang >  Go问答

正负数在golang中

来源:stackoverflow

时间:2024-02-12 19:54:24 425浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《正负数在golang中》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我不知道如何正确构建代码。请帮帮我吧(

这是任务本身

编写一个程序,使用输入的数字来确定应将其放入四个堆栈中的哪一个。该程序要求用户输入数字并显示一条消息:

1.数字为负数,即使该数字小于零并且是偶数

2.如果数字小于零且为奇数,则该数字为负奇数

3.数字是正数,即使该数字大于零并且是偶数

4.如果数字大于零且为奇数,则该数字为正奇数

我尝试了 if 和 else

另外我不明白是否可以使用 - 开关执行?

已经很头疼了。我唯一能做的就是定义整数和非整数。我不明白要在代码中添加什么来定义负数和正数。

package main

import (
    "fmt"
)

func main() {
    var score int
    fmt.Scanln(&score)
    if score%2 == 0 && score < 0 {
        fmt.Println("The number is negative and even")
    } else {
        fmt.Println("The number is negative and not even")
    }
}

为什么输入正数时,程序仍然写出该数是负数

因为我指定了a<0

请帮助我


正确答案


您的程序会将您输入的所有数字分类为“负”,因为您的程序中没有打印“正”一词的打印语句。

您可以使用不同但仍然相当简单的方法来解决此问题:

package main

import "fmt"

func main() {
    var score int
    _, err := fmt.Scanln(&score)
    if err != nil {
        panic(err)
    }

    // print whether the number is negative, zero, or positive, and also whether it is even or odd, in one line
    // take note that fmt.Print is used here and not Println, so that it does not append a newline to the end of the string
    if score < 0 {
        fmt.Print("The number is negative")
    } else if score == 0 {
        fmt.Print("The number is zero")
    } else {
        fmt.Print("The number is positive")
    }

    if score%2 == 0 {
        fmt.Println(" and even")
    } else {
        fmt.Println(" and odd")
    }
}

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《正负数在golang中》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>