Go语言中文网 为您找到相关结果 26

golang99道练习题之05

**1.题目:输入三个整数x,y,z,请把这三个数由小到大输出。** **2.程序分析:我们想办法把最小的数放到x上,** **先将x与y进行比较,如果x>y则将x与y的值进行交换,** **然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。** **3.程序源代码:** ```go package main import ( "fmt" ) func main() { var x, y, z, temp float64 fmt.Println("请输入要比较的三个数:") fmt.Scan(&x, &y, &z) if x < y { temp = x x = y y = temp } if x < z { temp = z z = x x = temp } if ...阅读全文

博文 2018-11-19 14:08:56 hdking

golang99道练习题之02

**题目:企业发放的奖金根据利润提成。** **利润(I)低于或等于10万元时,奖金可提10%;** **利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;** **20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;** **60万到100万之间时,高于60万元的部分,可提成1.5%;** **高于100万元时,超过100万元的部分按1%提成从键盘输入当月利润,求应发放奖金总数?** **1.程序分析:请利用数轴来分界,定位。** **2.程序源代码:** ```go package main import "fmt" func main() { var bonus,bonus1 f...阅读全文

博文 2018-11-16 17:00:46 hdking

golang99道练习题之01

**1.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?** **2.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 ** **3.程序源代码:** ```go package main import "fmt" func main() { for i := 1; i < 5; i++ { for j := 1; j < 5; j++ { for k := 1; k < 5; k++ { if (i != k) && (i != j) && (j != k) { fmt.Println("这个数是:", i, j, k) } } } } } ``...阅读全文

博文 2018-11-20 11:38:16 hdking

golang99道练习题之21

**1.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。** **2.程序分析:采取逆向思维的方法,从后往前推断。** **3.程序源代码:** ```go package main import "fmt" func main() { var x, y int y = 1 for day := 9; day > 0; day-- { x = (y + 1) * 2 y = x } fmt.Printf("第一天共摘了%d个桃子", x) } ``...阅读全文

博文 2018-12-11 20:20:35 hdking

golang99道练习题之20

**1.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?** **2.程序源代码:** ```go package main import "fmt" func main() { sn := 100 hn := sn / 2 for i := 2; i <= 10; i++ { sn += 2 * hn hn /= 2 } fmt.Printf("共经过%d米\n", sn) fmt.Printf("第10次反弹%d米\n", hn) } ``...阅读全文

博文 2018-12-11 20:14:32 hdking

golang99道练习题之07

**1.题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!** **2.程序分析:字符共有256个。不同字符,图形不一样** **3.程序源代码:** ```go package main import "fmt" func main() { var a rune = 176 var b rune = 219 fmt.Printf("%c%c%c%c%c\n", b, a, a, a, b) fmt.Printf("%c%c%c%c%c\n", a, b, a, b, a) fmt.Printf("%c%c%c%c%c\n", a, a, b, a, a) fmt.Printf("%c%c%c%c%c\n", a, b, a, b, a) fmt.Printf("%...阅读全文

博文 2018-11-19 16:31:41 hdking

golang99道练习题之04

**1.题目:输入某年某月某日,判断这一天是这一年的第几天?** **2.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,** **特殊情况,闰年且输入月份大于3时需考虑多加一天。** **3..程序源代码:** ```go package main import "fmt" func main() { var year, mouth, day, sum, feb int fmt.Println("请输入年月日:") fmt.Scan(&year, &mouth, &day) if (year%4 == 0 && year%100 != 0) || (year%400 == 0) { feb = 29 } else { feb = 28 } switch m...阅读全文

博文 2018-11-19 15:30:10 hdking

golang99道练习题之11

**1.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,** **小兔子长到第三个月后每个月又生一对兔子,** **假如兔子都不死,问每个月的兔子总数为多少?** **2.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....** **3.程序源代码:** ```go package main import "fmt" func main() { f1 := 1 f2 := 1 for i := 1; i <= 20; i++ { fmt.Printf("%12d %12d", f1, f2) if i%2 == 0 { fmt.Println() } f1 = f1 + f2 f2 = f1 + f2 } } ``...阅读全文

博文 2018-11-20 11:27:28 hdking

golang99道练习题之24

**1.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。** **2.程序分析:请抓住分子与分母的变化规律。 ** **3.程序源代码:** ```go package main import "fmt" func main() { var a, b, c = 2.0, 1.0, 0.0 for n := 1; n < 21; n++ { c = c + a/b t := a a = a + b b = t } fmt.Println(int(c)) } ``...阅读全文

博文 2018-12-11 20:30:27 hdking

golang99道练习题之06

**1.用*号输出字母C的图案。** **2.程序分析:可先用'*'号在纸上写出字母C,再分行输出。** **3.程序源代码:** ```go package main import "fmt" func main() { fmt.Printf(" *****\n") fmt.Printf("*** **\n") fmt.Printf("** **\n") fmt.Printf("** \n") fmt.Printf("** \n") fmt.Printf("** **\n") fmt.Printf("*** **\n") fmt.Printf(" ****\n") } ``...阅读全文

博文 2018-11-19 15:47:22 hdking

学习go语言 我的习题答案 chapter3

这章节主要讲的是go中函数使用 在做习题过程中碰到的几个比较值得纪念的问题是 定义了命名返回函数 但是没有把它放在括号里面 结果一直编译通不过 但是一眼看过去还是不知道怎么错了A 还有一个给我深刻印象的就是go的强类型检查 以及变量的申明方式 和c/c++区别比较明显的就是定义array 之前好像看过c/c++中的指针定义 那个*放在哪里的问题 还有就是数组[]应该放在哪里比较合适 在go中数据类型全都后置 比如: var test_var int test_var这个变量的类型是int 这个变量申明如果是在函数体外的 那么var就必不可少 但是在函数内部可以使用 := 来定义 这个和=还是有区别的 定义和赋值完全分开 越写越觉得是c/c++的升级版本 呵呵 package main imp...阅读全文

博文 2014-10-04 19:26:29 pengfei_xue

golang99道练习题之09

**1.题目:要求输出国际象棋棋盘。** **2.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。** **3.程序源代码:** ```go package main import "fmt" func main() { for i := 0; i < 8; i++ { for j := 0; j < 8; j++ { if (i+j)%2 == 0 { fmt.Printf("%c%c", 219, 219) } else { fmt.Printf(" ") } } fmt.Println() } } ``...阅读全文

博文 2018-11-19 17:16:55 hdking

golang99道练习题之13

**1.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。** **例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。** **2.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。** **3.程序源代码:** ```go package main import "fmt" func main() { for i := 1; i < 10; i++ { for j := 0; j < 10; j++ { for k := 0; k < 10; k++ { sum := i*100 + j*10 + k if sum == i*i*i+j*j*j+k*k*k { fmt.Println(sum) ...阅读全文

博文 2018-11-20 17:53:28 hdking

golang99道练习题之18

**1.题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 ** **2.程序分析:关键是计算出每一项的值。 ** **3.程序源代码: ** ```go package main import "fmt" func main() { var m, n, Sn, Tn = 1, 1, 0, 0 fmt.Print("请输入一个数字:") fmt.Scan(&m) fmt.Print("请输入位数:") fmt.Scan(&n) for i := 1; i <= n; i++ { Tn = Tn * 10 Tn = Tn + m Sn = Sn + Tn } fmt.Println...阅读全文

博文 2018-12-11 20:09:17 hdking

golang99道练习题之12

**1.判断101-200之间有多少个素数,并输出所有素数。** **2.程序分析:判断素数的方法:用一个数分别去除2,如果能被整除,则表明此数不是素数,反之是素数。** **3.程序源代码:** ```go package main import "fmt" func main() { for i := 101; i <= 200; i++ { for j := 2; j <= i; j++ { if i != j && i%j == 0 { break } if i == j && i%j == 0 { fmt.Println(i) } } } } ``...阅读全文

博文 2018-11-20 17:31:01 hdking

golang99道练习题之15

**1.利用条件运算符的嵌套来完成此题:** **学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。** **2.程序分析:(a>b)?a:b这是条件运算符的基本例子。** **3.程序源代码:** **不支持这个运算符** ```go package main import "fmt" func main() { var score int var grade string fmt.Print("请输入你的成绩:") fmt.Scan(&score) if score < 0 || score > 100 { fmt.Println("您输入的有误!") } else { if score >= 90 { grade = "A" } else if sco...阅读全文

【GoLang笔记】A Tour of Go - Exercise: Equivalent Binary Trees

本文是GoLang学习教程中的一道习题,具体题目要求及代码实现如下。 Exercise: Equivalent Binary Trees 1. Implement the Walk function. 2. Test the Walk function. The function tree.New(k) constructs a randomly-structured binary tree holding the values k,2k, 3k, ..., 10k. Create a new channel ch and kick off the walker: go Walk(tree.New(1), ch) Then read and print 10 values from the ...阅读全文

博文 2015-01-31 01:00:01 slvher

算法导论习题:10.2-7 in Go语言

10.2-7题:给出一个时间复杂度为O(n)的非递归过程,实现对一个含n个元素的单链表的逆转。 程序的主要思想就是,转变指标的指向,例如原本是1->2->3->4,现在变成1<-2<-3<-4,就实现了逆转 package main import ( "fmt" ) type Node struct { next *Node data int } type List struct { first *Node } func (l *List) Insert(d int) { node := &Node{nil, d} node.next = l.first l.first = node } func revise(l *List) { if l.first == nil { return } ...阅读全文

博文 2016-05-24 03:00:14 u013564276

愿码(ChainDesk.CN): Go语言入门指南(一)

第一章:Ubuntu的安装http://www.chaindesk.cn/witbook/13/172?20190301meiti第二章:Linux文件管理和常用命令http://www.chaindesk.cn/witbook/13/173?20190301meiti第三章:配置golang环境http://www.chaindesk.cn/witbook/13/174?20190301meiti第四章:第一个helloworld程序http://www.chaindesk.cn/witbook/13/175?20190301meiti第五章:安装goland集成开发工具http://www.chaindesk.cn/witbook/13/176?20190301meiti第六章:基本语法...阅读全文

博文 2019-03-01 12:34:43 ChainDesk