one:求1到100之间的质数

package main

import (
"fmt"
) func isPrime(n int) bool {
var flag = true
for j := 2; j < n; j++ {
if n % j == 0 { //计算质数,如果这个数能被自己整除哪么它就是质数
flag = false
break
}
}
return flag
} func main() {
var n int = 100
for i := 2; i < n; i++ {
if isPrime(i) {
fmt.Printf("%d is prime\n", i)
}
}
}

  

two:统计字符串中有哪些单词并统计出出现次数

package main

import (
"fmt"
) func addWord(wordCount map[string]int, chars []rune) {
words := string(chars)
if len(words) > 0 {
count, ok := wordCount[words]
if !ok {
wordCount[words] = 1 } else {
wordCount[words] = count + 1 }
}
} func main() {
str := "how are hou! you are welcome!"
var tmp []rune
var wordCount map[string]int = make(map[string]int, 10)
var chars []rune = []rune(str)
for i := 0; i < len(str); i++ {
if str[i] >= 'a' && str[i] <= 'z'|| str[i] >= 'A' && str[i] <= 'Z' {
tmp = append(tmp, chars[i])
} else {
addWord(wordCount, tmp)
tmp = tmp[0:0]
}
}
if len(tmp) > 0 {
addWord(wordCount, tmp)
}
for k,v := range wordCount {
fmt.Printf("key:%s v:%d\n", k, v)
}
}

Three:统计字符串中每一个字符个数

package main

import (
"fmt"
) func addWord(charCount map[rune]int, char rune) { count, ok := charCount[char]
if !ok {
charCount[char] = 1 } else {
charCount[char] = count + 1 } } func main() {
str := "how are hou! you are welcome!中国"
var charCount map[rune]int = make(map[rune]int, 10)
var chars []rune = []rune(str)
for i := 0; i < len(chars); i++ {
addWord(charCount, chars[i])
}
for k,v := range charCount {
fmt.Printf("key:%c v:%d\n", k, v)
}
}

  

Four:简易版学生信息管理系统

package main

import (
"os"
"fmt"
) type Student struct {
Id string
Name string
Age int
Sex string
Score float32
} func showMenu() {
fmt.Printf("please select:\n")
fmt.Printf("1.添加学生信息\n")
fmt.Printf("2.修改学生信息\n")
fmt.Printf("3.显示学生列表\n")
fmt.Printf("4.退出\n") } func getStudentInfo() Student {
var stu Student
fmt.Printf("Please input Id:\n")
fmt.Scanf("%s\n",&stu.Id) fmt.Printf("Please input name:\n")
fmt.Scanf("%s\n",&stu.Name) fmt.Printf("Please input Age:\n")
fmt.Scanf("%d\n",&stu.Age) fmt.Printf("Please input Sex:\n")
fmt.Scanf("%s\n",&stu.Sex) fmt.Printf("Please input Score:\n")
fmt.Scanf("%f\n",&stu.Score)
return stu
} func addStudent(allStudent map[string]Student) {
stu := getStudentInfo()
_, ok := allStudent[stu.Id]
if ok {
fmt.Printf("studnet %s is exists\n",stu.Id)
return
}
allStudent[stu.Id] = stu
} func modifyStudent(allStudent map[string]Student) {
stu := getStudentInfo()
_, ok := allStudent[stu.Id]
if !ok {
fmt.Printf("studnet %s is not exists\n",stu.Id)
return
}
allStudent[stu.Id] = stu
} func showStudnetList(allStudent map[string]Student) {
for _, val := range allStudent {
fmt.Printf("Id:%s\nName:%s\nAge:%d\nSex:%s\nScore:%f\n", val.Id, val.Name, val.Age, val.Sex, val.Score) }
}
func main() {
var sallStudent map[string]Student = make(map[string]Student, 10)
for {
showMenu()
var sel int
fmt.Println("-------------------------")
fmt.Scanf("%d\n", &sel)
switch sel {
case 1:
addStudent(sallStudent)
case 2:
case 3:
showStudnetList(sallStudent)
case 4:
os.Exit(0)
}
}
}

  

go经典练习题涉及流程控制-字符串-struct-map的数据类型的处理的更多相关文章

  1. swift_简单值 | 元祖 | 流程控制 | 字符串 | 集合

    //: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground& ...

  2. Go语言学习笔记-流程控制(二)

    Go语言流程控制 字典类型Map 1.上节遗留:map字典类型 变量声明:var myMap map[string] PersonInfo 其中,myMap是变量名,string是键的类型,Perso ...

  3. Go 从入门到精通(三)字符串,时间,流程控制,函数

    一.strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirn ...

  4. day2(字符串、格式化输出、运算符、流程控制)

    一.字符串 在Python中,加了引号的字符都被认为是字符串! 单引号.双引号.多引号的区别? 单引号和 双引号没有任何区别,但是某种情况下需要单双配合 如 msg = " My name ...

  5. python的学习笔记01_3 基本运算符 流程控制if while 字符串常用办法

    基本运算符 运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运 ...

  6. 【二】php 字符串操作及三大流程控制

    字符串操作: trim:去除字符串开始位置和结束位置的空格 ltrim:去除开始处的空格 rtrim:去除结束处的空格 strtoupper:将字符串转换为大写 strtolower:将字符串转换为小 ...

  7. golang基础之三-字符串,时间,流程控制,函数

    strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirngs ...

  8. Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)

    一.字符串常用操作 #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格) name='*egon**' print(name.strip('*'))#移除 name 变量对应 ...

  9. python基础(字符串常用、数字类型转换、基本运算符与流程控制)

    一.字符串常用操作: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Z'N'Y" # Date: 2 ...

随机推荐

  1. 从零开始的全栈工程师——js篇2.3

    自加和自减 =赋值运算 他的顺序是从右往左 从后往前 var a=12; 声明一个变量并将12赋值给aa=a+2; 将a+2赋值给a简写a+=3; a=a+3a+=1; a++ 在自己原有的基础上加1 ...

  2. 使用Qt生成第一个窗口程序

    一.打开QtCreater,点击New Project 二.在Qt中,最常用的窗口程序为widgets控件程序,这里我们选择Qt Widgets Application 三.Qt生成的debug和re ...

  3. MVC 控制器向View传值的三种方法(转)

    1.提供视图模型对象 你能把一个对象作为View方法的参数传递给视图. public ViewResult Index() { DateTime date = DateTime.Now; return ...

  4. log4j-初识

    1.配置文件介绍: 1.1. 控制台输出:log4j.rootLogger=DEBUG, Console ,File #Console log4j.appender.Console=org.apach ...

  5. ZooKeeper保证之单一视图(Single System Image)

    由于ZooKeeper的数据模型简单且全部在内存中,ZooKeeper的速度非常快.它提供了一系列保证(Guarantees): • 顺序一致性(Sequential Consistency) • 原 ...

  6. WCF的问题

    使用service调用WCF的时候,有时候会出现 其他信息: HTTP 无法注册 URL 进程不具有此命名空间的访问权限 这样的问题,这时候就需要进行如下尝试: 1,VS的管理权限使用管理员的权限. ...

  7. 【HHHOJ】NOIP模拟赛 玖 解题报告

    点此进入比赛 得分: \(100+20+100=220\)(还不错) 排名: \(Rank\ 16\) \(Rating\):\(+20\) \(T1\):[HHHOJ263]「NOIP模拟赛 玖」三 ...

  8. 【BZOJ2002】[HNOI2010] 弹飞绵羊(大力分块)

    点此看题面 大致题意: 有\(n\)个弹力装置,当到达第\(i\)个装置时,会被弹到第\(i+k_i\)个装置,若不存在第\(i+k_i\)个装置,就会被弹飞.有两种操作,一种操作是将\(k_x\)改 ...

  9. dojo中类的继承

    类似于c# java等后台语言,在基于类的面向对象编程中,通常需要在子类中扩展某些父类的方法,这时可以在子类的方法中,先调用从父类继承的方法,然后再执行子类自定义的操作.凡是使用declare创建的类 ...

  10. iterable -------JavaScript

    本文摘要:http://www.liaoxuefeng.com/ 遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Arra ...