go语言练习题

 

1. 输入一个三位整数,求出该数每个位上的数字之和。如123,每个位上的数字之和就是1+2+3=6。

package main
import "fmt"
func main()  {
	var num int
	fmt.Scan(&num)
	a:=num/100
	b:=num/10%10
	c:=num%10
	sum:=a+b+c

	fmt.Println("sum=",sum)
}

2.输入三个float64类型浮点数,分别求出它们的和、平均值、平方和以及平方和的平方,并输出所求的各个值。

package main
import "fmt"

func main()  {
	var a,b,c float64
	fmt.Scan(&a,&b,&c)
	sum:=a+b+c
	avg:=sum/3.0
	sqrsum:=a*a+b*b+c*c
	sq:=sqrsum*sqrsum
	fmt.Println(sum,avg,sqrsum,sq)
}

3. 设f表示华氏温度、c表示摄氏温度、k表示绝对温度,将华氏温度转换为摄氏温度和绝对温度的公式分别为:

c=5/9*(f-32)

k=273.16+c

编写程序,要求通过键盘输入f的值,计算c和k的值并输出。

package main
import "fmt"

func main()  {
	var f,c,k float64
	fmt.Scan(&f)
	c=5.0/9.0*(f-32)
	k=273.16+c
	fmt.Println(c,k)
}

4,编写程序,把极坐标(r,θ)转换为直角坐标(x.y),其中的θ单位为度。转换公式是:

x = r * cosθ

y = r * sinθ

package main

import ("fmt"
       "math"
)
func main()  {
	var r, θ float64
	fmt.Scan(&r,&θ)
	x:=r*math.Cos(θ*math.Pi/180.0)
	y:=r*math.Sin(θ*math.Pi/180.0)
	fmt.Println(x,y)
}

5.通过键盘输入英文字符串,并统计字符串中的英文字母个数,同时输出字符串字节长度。

package main

import "fmt"

func main()  {
	var str string
	fmt.Scanln(&str)
	fmt.Println(len(str),len([]byte(str)))
}

 

6.  写一程序求y值(x值由键盘输入)。

y = (sinx+cosx)/2,  x>=0

y = (sinx-cosx)/2,   x<0

package main

import (
	"fmt"
	"math"
)

func main() {
	var x, y float64
	fmt.Scan(&x)
	if x >= 0 {
		y = (math.Sin(x) + math.Cos(x)) / 2.0
	} else {
		y = (math.Sin(x) - math.Cos(x)) / 2.0
	}
	fmt.Println(y)
}

7.输入一个字符,判断它如果是小写字母输出其对应的大写字母;如果是大写字母输出其对应的小写字母;如果是数字输出数字本身;如果是空格输出“SPACE”;如果不是上述情况输出“Other”。

package main
import "fmt"

func main()  {
	var ch rune
	fmt.Scan("%c",&ch)
	switch{
	case (ch>='a')&&(ch<='z'): fmt.Printf("%c\n",ch-32)
	case (ch>='A')&&(ch<='Z'): fmt.Printf("%c\n",ch+32)
	case ch==' ':               fmt.Println("SPACE")
	case (ch>='1')&&(ch<='9'):fmt.Printf("%c\n",ch)
	default:
		fmt.Println("other")
	}
}

8.有三个数a、b、c,由键盘输入,输出其中最大的数。

package main

import (
	"fmt"
)

func main() {
	var a, b, c int
	fmt.Scan(&a, &b, &c)
	var max = a
	if max < b {
		max = b
	}
	if max < c {
		max = c
	}
	fmt.Println("max=", max)
}

9. 输入一个数,判断它能否被3或者5整除,如至少能被这两个数中的一个整除则将此数打印出来,否则不打印,编出程序。

package main

import (
	"fmt"
)

func main() {
	var n int
	fmt.Scan(&n)
	if (n%3 == 0) || (n%5 == 0) {
		fmt.Println(n)
	}
}

 10.读入1-7之间的某个数,输出表示一星期中相应的某一天的单词:Monday、Tuesday等,使用switch语句实现。

package main

import (
	"fmt"
)

func main() {
	var n int
	fmt.Scan(&n)
	switch n {
	case 1:
		fmt.Println("Monday")
	case 2:
		fmt.Println("Tuesday")
	case 3:
		fmt.Println("Wednesday")
	case 4:
		fmt.Println("Thursday")
	case 5:
		fmt.Println("Friday")
	case 6:
		fmt.Println("Saturday")
	case 7:
		fmt.Println("Sunday")
	}
}
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangchuang2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值