牛客编程题GO语言入门46题
Posted 小哈里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客编程题GO语言入门46题相关的知识,希望对你有一定的参考价值。
GP01-GP18:输出,变量,常量,指针,字符串,类型转换,运算符,数组
GP19-GP38:切片,map,条件,循环
GP39-GP46:函数,结构体,接口,错误
做题链接:https://www.nowcoder.com/exam/oj?page=1&tab=语法篇&topicId=317
文章目录
- GP1 go的第一个程序
- GP2 小明信息
- GP3 个人信息
- GP4 国家名称
- GP5 值和指针
- GP6 拼接字符串
- GP7 字符数量
- GP8 回文数
- GP9 格式化字符串
- GP10 字符求和
- GP11 长方形的周长
- GP12 温度转换
- GP13 工程时间
- GP14 器材采购
- GP15 逻辑运算
- GP16 位运算
- GP17 联谊活动
- GP18 保龄球
- GP19 创建切片
- GP20 切片复制
- GP21 出队
- GP22 评委打分
- GP23 调整顺序
- GP24 判断两个切片是否有相同的元素
- GP25 合并有序数组
- GP26 置衣柜
- GP27 成绩表
- GP28 单词字符
- GP29 字符串构成
- GP30 不重复的数
- GP31 年龄分段
- GP32 成绩判定
- GP33 游乐园门票
- GP34 推箱子
- GP35 乘法口诀表
- GP36 坐标转换
- GP37 质量检查
- GP38 团队闯关
- GP39 数字的阶乘
- GP40 绝对值
- GP41 加减乘除
- GP42 学生信息II
- GP43 学生信息III
- GP44 动物和老虎
- GP45 网络延迟
- GP46 体温异常
GP1 go的第一个程序
package main
import (
"fmt"
)
func main()
fmt.Println("Hello World!")
GP2 小明信息
package main
import (
"fmt"
)
func main()
var name string = "小明";
var age int64 = 23;
var sex bool = true;
fmt.Println(name);
fmt.Println(age);
fmt.Println(sex);
GP3 个人信息
package main
import (
"fmt"
)
func main()
var name string;
var age int;
var sex bool;
fmt.Println(name);
fmt.Println(age);
fmt.Println(sex);
GP4 国家名称
package main
import "fmt"
func main()
const a string = "中国"
const b string = "英国"
const c string = "美国"
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
GP5 值和指针
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param a int整型 变量a
* @param b int整型 变量b
* @return bool布尔型一维数组
*/
func equal( a int , b int ) []bool
// write code here
return []bool&a==&b, a==b;
GP6 拼接字符串
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串一维数组
* @return string字符串
*/
func join( s []string ) string
// write code here
var t string
for _, x := range s //位置和值
t += x
return t
GP7 字符数量
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return int整型
*/
func count( s string ) int
// write code here
var arr = []rune(s) //rune数组,即int32数组
return len(arr)
GP8 回文数
package main
import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param x int整型
* @return bool布尔型
*/
func isPalindrome( x int ) bool
// write code here
var s string = fmt.Sprintf("%d",x) //int转string
length := len(s)
for i := 0; i < length/2; i++
if s[i] != s[length-i-1]
return false;
return true;
GP9 格式化字符串
package main
import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 将一个正整数转换为字符串
* @param num int整型 给定的正整数
* @return string字符串
*/
func formatstr( num int ) string
// write code here
a := fmt.Sprintf("%d",num)
return a;
GP10 字符求和
package main
//import "fmt"
import "strconv"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param a string字符串
* @param b string字符串
* @return string字符串
*/
func sum( a string , b string ) string
// write code here
x,_ := strconv.Atoi(a)
y,_ := strconv.Atoi(b)
return strconv.Itoa(x+y)
GP11 长方形的周长
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param a int整型 长方形的长
* @param b int整型 长方形的宽
* @return int整型
*/
func perimeter( a int , b int ) int
// write code here
return 2*(a+b)
GP12 温度转换
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param f double浮点型 华氏温度
* @return double浮点型
*/
func temperature( f float64 ) float64
// write code here
v := float64(5)/float64(9)
v = v*(f-32)
return v
GP13 工程时间
package main
import (
"fmt"
)
func main()
fmt.Println(97/7)
fmt.Println(97%7)
GP14 器材采购
package main
//import "fmt"
import "sort"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param x int整型 采购单价
* @param y int整型 采购单价
* @param z int整型 采购单价
* @return int整型
*/
func compare( x int , y int , z int ) int
// write code here
arr := [3]intx,y,z
sort.Ints(arr[:])
return arr[2]-arr[0]
GP15 逻辑运算
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param a bool布尔型
* @param b bool布尔型
* @return bool布尔型一维数组
*/
func logicalOperation( a bool , b bool ) []bool
// write code here
return []bool a&&b, a||b, !a, !b
GP16 位运算
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param a int整型
* @param b int整型
* @return int整型一维数组
*/
func bitOperate( a int , b int ) []int
// write code here
return []int a&b, a|b, a^b
GP17 联谊活动
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param x int整型 参加活动人数
* @return bool布尔型
*/
func odevity( x int ) bool
// write code here
if x % 2 ==1
return false
return true
GP18 保龄球
package main
import "fmt"
func main()
var a [5]int
a = [5]int2,5,4,6,5
fmt.Println(a)
GP19 创建切片
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param length int整型 切片初始化长度
* @param capacity int整型 切片初始化容量
* @return int整型一维数组
*/
func makeslice( length int , capacity int ) []int
// write code here
var slice []int = make([]int, length, capacity)
for i:=0 ; i < len(slice); i++
slice[i] = i;
return slice
GP20 切片复制
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param src int整型一维数组 源切片
* @param des int整型一维数组 目的切片
* @return int整型一维数组
*/
func sliceCopy( src []int , des []int ) []int
// write code here
des = make([]int, len(src), len(src))
copy(des, src)
return des
GP21 出队
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s int整型一维数组 身高
* @param index int整型 出队索引
* @return int整型一维数组
*/
func deleteElement( s []int , index int ) []int
// write code here
s1 := s[:index]
s2 := s[index+1:]
s1 = append(s1, s2...)
return s1
GP22 评委打分
package main
//import "fmt"
import "sort"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s int整型一维数组 评委给出分数
* @return int整型一维数组
*/
func minAndMax( s []int ) []int
// write code here
sort.Ints(s)
return append(s[:1], s[len(s)-1:] ...)
GP23 调整顺序
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s int整型一维数组
* @return int整型一维数组
*/
func convert( s []int ) []int
// write code
for i:= 0 ; i < len(s)/2; i++
s[i], s[len(s)-i-1] = s[len(s)-i-1], s[i]
return s
GP24 判断两个切片是否有相同的元素
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s1 int整型一维数组
* @param s2 int整型一维数组
* @return bool布尔型
*/
func equal( s1 []int , s2 []int ) bool
// write code here
for i:=0; i < len(s1); i++
if s1[i] != s2[i]
return false
return true
GP25 合并有序数组
package main
//import "fmt"
import "sort"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums1 int整型一维数组
* @param m int整型
* @param nums2 int整型一维数组
* @param n int整型
* @return int整型一维数组
*/
func merge( nums1 []int , m int , nums2 []int , n int ) []int
// write code here
arr := append(nums1[:m],nums2[:n]...)
sort.Ints(arr)
return arr
GP26 置衣柜
package main
import "fmt"
func main()
s := []string"帽子", "围巾", "衣服", "裤子", "袜子"
fmt.Println(s)
GP27 成绩表
package main
import (
"fmt"
)
func main()
var ma map[string]int = map[string]int
"小明":60,
"小王":70,
"张三":95,
"李四":98,
"王五":100,
"张伟":88,
fmt.Println(ma)
GP28 单词字符
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return char字符型
*/
func character( s string ) byte
// write code here
str := []byte(s)
n := 0
m := make(map[byte]int)
var b byte
for _, v := range str
m[v]++
if(m[v] > n)
n = m[v]
b = v
return b
GP29 字符串构成
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param des string字符串
* @param src string字符串
* @return bool布尔型
*/
func canConstruct( des string , src string ) bool
// write code here
ma := make(map[byte]int)
s := []byte(src)
for _, i := range s
ma[i]++
p := []byte(des)
for _, i := range p
if ma[i]==0
return false
ma[i]--
return true
GP30 不重复的数
package main
//import "fmt"
import "sort"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s int整型一维数组
* @return int整型一维数组
*/
func getNoRepeat( s []int ) []int
// write code here
var ans []int
have := make(map[int]int)
for _, i := range s
if _,ok := have[i] ; ok == false
have[i] = 1
else
have[i]++;
for i,j := range have
if j==1
ans = append(ans, i)
sort.Ints(ans)
return ans
GP31 年龄分段
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param age int整型 年龄
* @return string字符串
*/
func getAge( age int ) string
// write code here
if age >= 0 && age < 1
return "婴儿"
else if age <= 4
return "幼儿"
else if age <= 11
return "儿童"
else if age <= 18
return "少年"
else if age <= 35
return "青年"
else if age <= 59
return "中年"
else
return "老年"
GP32 成绩判定
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param score int整型 分数
* @return string字符串
*/
func judgeScore( score int ) string
// write code here
switch
case score<60: return "不及格"
case score<80: return "中等"
case score<90: return "良好"
default: return "优秀"
GP33 游乐园门票
package main
//import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param hight double浮点型 身高
* @return bool布尔型
*/
func 牛客编程题零基础入门前端之73题(html,css,ES5,WebAPI)
Go语言入门150题L1-066 猫是液体 (5 分) Go语言 | Golang