【Go语言入门100题】056 猜数字 (20 分) Go语言 | Golang

简介: L1-056 猜数字 (20 分) Go语言|Golang一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。

L1-056 猜数字 (20 分) Go语言|Golang

一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。


输入格式:

输入在第一行给出一个正整数N(≤10e4)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。


输出格式:

在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。


输入样例1:

7
Bob 35
Amy 28
James 98
Alice 11
Jack 45
Smith 33
Chris 62

结尾无空行

输出样例1:

22 Amy
• 1

结尾无空行

思路:

设计一个结构体存储人名和正整数,然后进行判断。计算出平均数

代码如下:

package main
import (
  "fmt"
  "math"
)
type person struct {
  Name string
  Number float64
}
func main() {
  var num float64
  sum := 0.0
  _,_=fmt.Scan(&num)
  var personList [1000]person
  for i:=0;i<int(num);i++ {
    _, _ = fmt.Scan(&personList[i].Name, &personList[i].Number)
    sum += personList[i].Number
  }
  sum = sum/num/2  // 平均数的一半
  var ans person
  minute := math.Abs(personList[0].Number-sum)
  ans = personList[0]
  for _,item := range personList[:int(num)]{
    if math.Abs(item.Number-sum)<minute {
      minute = item.Number-sum
      ans = item
    }
  }
  fmt.Printf("%d %s",int(sum),ans.Name)
}
相关文章
|
8天前
|
Go API 开发者
深入探讨:使用Go语言构建高性能RESTful API服务
在本文中,我们将探索Go语言在构建高效、可靠的RESTful API服务中的独特优势。通过实际案例分析,我们将展示Go如何通过其并发模型、简洁的语法和内置的http包,成为现代后端服务开发的有力工具。
|
10天前
|
编译器 Go
go语言学习记录(关于一些奇怪的疑问)有别于其他编程语言
本文探讨了Go语言中的常量概念,特别是特殊常量iota的使用方法及其自动递增特性。同时,文中还提到了在声明常量时,后续常量可沿用前一个值的特点,以及在遍历map时可能遇到的非顺序打印问题。
|
8天前
|
存储 监控 数据可视化
Go 语言打造公司监控电脑的思路
在现代企业管理中,监控公司电脑系统对保障信息安全和提升工作效率至关重要。Go 语言凭借其高效性和简洁性,成为构建监控系统的理想选择。本文介绍了使用 Go 语言监控系统资源(如 CPU、内存)和网络活动的方法,并探讨了整合监控数据、设置告警机制及构建可视化界面的策略,以满足企业需求。
25 1
|
1天前
|
Shell Go API
Go语言grequests库并发请求的实战案例
Go语言grequests库并发请求的实战案例
|
存储 JSON API
Go语言:RESTful API 服务,急速入门!
REST即表述性状态传递(英文:Representational State Transfer,简称REST),它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性
475 0
Go语言:RESTful API 服务,急速入门!
|
安全 编译器 Go
Go语言,Protobuf 入门详解!
Protobuf 是 Protocol Buffers 的简称,是一种与语言、平台无关,可扩展的序列化结构化数据的数据描述语言,Protobuf作为接口规范的描述语言,可以作为设计安全的跨语言PRC接口的基础工具。
329 0
Go语言,Protobuf 入门详解!
|
机器学习/深度学习 前端开发 Java
go语言可以做什么?入门Go语言
go语言可以做什么?入门Go语言
146 0
|
存储 IDE Java
go语言简单入门
go语言简单入门
167 0
|
存储 Go
【Go语言入门100题】069 胎压监测 (15 分) Go语言 | Golang
L1-069 胎压监测 (15 分) Go语言|Golang 让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序,随时监测四轮的胎压,并给出正确的报警信息。报警规则如下:
243 0