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. 零基础逆向工程24_C++_01_类_this指针_继承本质_多层继承

    1 类内的成员函数和普通函数的对比 1.1 主要是从参数传递.压栈顺序.堆栈平衡来总结. 1.参数传递:成员函数多传一个this指针 2.压栈顺序:成员函数会将this指针压栈,在函数调用取出 3.堆 ...

  2. #include< >和#include“ ”的区别

    < >引用的是编译器的类库路径里面的头文件 " "引用的是你程序目录的相对路径中的头文件 假如你编译器定义的自带头文件引用在C:\Keil\c51\INC\下面 则#i ...

  3. [荐]推荐一个shell学习的网站

    最近再用shell脚本,发现一个脚本学习的网站,非常好用,特此推荐一下. shell学习网站链接:http://c.biancheng.net/cpp/shell/

  4. [转]linux远程登入不需要密码

    如何通过一台linux ssh远程其他linux服务器时,不要输入密码,可以自动登入.提高远程效率,不用记忆各台服务器的密码. 工具/原料   ssh,ssh-keygen,scp 方法/步骤     ...

  5. Spring mvc + maven + tomcat配置问题

    在用maven搭建spring mvc时候, 个人遇到过很多的问题, 现在把遇到的问题总结下: 1.  首先点击项目->Run As->Maven clean, 这一步把之前不管有没有ma ...

  6. HDU 1114 Piggy-Bank 猪仔储钱罐(完全背包)

    题意: 给定一个存钱罐中要存硬币,知道空罐的重量和欲装满的重量,是否能装入?若能,打印最小价值.(注:能装的硬币重量一定刚刚好,里面的总价值要达到最小) 输入: 包含了T个测试例子,在第一行给出.接下 ...

  7. java常用框架总结

    一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 Spring Web MVC是一种基于Java的实现了Web MV ...

  8. httpd2.4.6三种工作模式(如何配置),防止占用内存暴增的策略

    之前偷懒默认用yum安装了httpd.后来发现服务器内存暴增,一度达到75% 打开一看,好嘛后台休眠进程全是httpd. 重启之后再度访问发现内存还是稳步增长. [root@iz2ze3ayxs2yp ...

  9. day1总结

    print("hello world") name='王维是傻屌' print(name) age_of_王维是傻屌 = 18 # type:用于判断变量的类型 str1 ='he ...

  10. 记Tea使用中遇到的问题及解决过程

    学习Markdown时,在小众软件看到一个叫Tea的软件.UI设计是简约风格:"所见即所得"的Markdown:支持插件等原因让我选择去尝试这杯"茶". 最近一 ...