练习网站:(20条未读私信) 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)
这里具体涉及到的一些函数可以自己搜一下印象更深刻。重点是应用即可。
1. A+B(1)
题目描述:
计算a+b
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 1000),输入数据包括多组。
输出描述:
输出a+b的结果
示例:
输入:
1 5
10 20
输出:
6 30
ps:行数确定,个数不确定
package main
import (
"fmt"
)
func main() {
for{
var a,b int
_,err:=fmt.Scan(&a,&b)
if err!=nil{
break
}
fmt.Println(a+b)
}
}
这里是别的地方看到的更标准的答案:
package main
import (
"fmt"
"io"
)
func main() {
var a, b int
for {
_, err := fmt.Scan(&a, &b)
if err == io.EOF {
break
}
fmt.Println(a + b)
}
}
2.A+B(2)
题目描述:
计算a+b
输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100) 接下来每行包括两个正整数a,b(1 <= a, b <= 1000)
输出描述:
输出a+b的结果
示例: 输入: 2 1 5 10 20 输出: 6 30 ps:行数确定,个数确定
package main
import (
"fmt"
)
func main() {
var t int
fmt.Scan(&t)
for i:=0;i<t;i++{
var a,b int
fmt.Scan(&a,&b)
fmt.Println(a+b)
}
}
3.A+B(3)
题目描述:
计算a+b
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出描述:
输出a+b的结果
示例: 输入: 1 5 10 20 0 0 输出: 6 30 ps:行数不确定,个数确定,特殊值停止
package main
import (
"fmt"
)
func main() {
var a,b int
for {
fmt.Scan(&a,&b)
if a==0&&b==0{
break
}
fmt.Println(add(a,b))
}
}
func add(a,b int) int{
return a+b
}
4.A+B(4)
题目描述:
计算一系列数的和
输入描述:
输入数据包括多组。 每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。 接下来n个正整数,即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例: 输入: 4 1 2 3 4 5 1 2 3 4 5 0 输出: 10 15ps:行数不确定,特殊值停止。后面个数确定。
package main
import (
"fmt"
)
func main() {
for{
var n int
fmt.Scan(&n)
if n==0{
break
}
sum:=0
for i:=0;i<n;i++{
var a int
fmt.Scan(&a)
sum+=a
}
fmt.Println(sum)
}
}
5.A+B(5)
题目描述:
计算一系列数的和
输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。 接下来t行, 每行一组数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例: 输入: 2 4 1 2 3 4 5 1 2 3 4 5 输出: 10 15ps 行数确定,个数确定。
package main
import (
"fmt"
)
func main() {
var t int
fmt.Scan(&t)
for i:=0;i<t;i++{
var n int
fmt.Scan(&n)
sum:=0
for i:=0;i<n;i++{
var a int
fmt.Scan(&a)
sum+=a
}
fmt.Println(sum)
}
}
6.A+B(6)
题目描述:
计算一系列数的和
输入描述:
输入数据有多组, 每行表示一组输入数据。 每行的第一个整数为整数的个数n(1 <= n <= 100)。 接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例: 输入: 4 1 2 3 4 5 1 2 3 4 5 输出: 10 15ps:行数不确定,个数确定
package main
import (
"fmt"
)
func main() {
for{
var n int
_,err:=fmt.Scan(&n)
if err!=nil{
break
}
sum:=0
for i:=0;i<n;i++{
var a int
fmt.Scan(&a)
sum+=a
}
fmt.Println(sum)
}
}
7.A+B(7)
题目描述:
计算一系列数的和
输入描述:
输入数据有多组, 每行表示一组输入数据。
每行不定有n个整数,空格隔开。(1 <= n <= 100)。
输出描述:
每组数据输出求和的结果
示例: 输入: 1 2 3 4 5 0 0 0 0 0 输出: 6 9 0ps:行数不确定,个数不确定,没准确的终止符。这里必须用bufio。
package main
import (
"fmt"
"bufio"
"os"
"strings"
"strconv"
)
func main() {
scan:=bufio.NewScanner(os.Stdin)
for scan.Scan(){
nums:=strings.Split(scan.Text()," ")
sum:=0
for i:=0;i<len(nums);i++{
num,_:=strconv.Atoi(nums[i])
sum+=num
}
fmt.Println(sum)
}
}
8.字符串排序(1)
题目描述:
对输入的字符串进行排序后输出
输入描述:
输入有两行,第一行n 第二行是n个字符串,字符串之间用空格隔开
输出描述:
输出一行排序后的字符串,空格隔开,无结尾空格
示例: 输入: 5 c d a bb e 输出: a bb c d eps:字符串处理,行数确定,个数确定
package main
import (
"fmt"
"os"
"bufio"
"strings"
"sort"
)
//这里没有使用n,直接用输入输出完成了
func main(){
var n int
fmt.Scan(&n)
scan:=bufio.NewScanner(os.Stdin)
scan.Scan()
num :=strings.Split(scan.Text()," ")
sort.Strings(num)
fmt.Println(strings.Join(num," "))
}
9.字符串排序(2)
题目描述:
对输入的字符串进行排序后输出
输入描述:
多个测试用例,每个测试用例一行。 每行通过空格隔开,有n个字符,n<100
输出描述:
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开
示例: 输入: a c bb f dddd nowcoder 输出: a bb c dddd f nowcoderps:字符串,行数不确定,个数不确定。
package main
import(
"fmt"
"os"
"bufio"
"strings"
"sort"
)
func main(){
scan:=bufio.NewScanner(os.Stdin)
for scan.Scan(){
num:=strings.Split(scan.Text()," ")
sort.Strings(num)
fmt.Println(strings.Join(num," "))
}
}
10.字符串排序(3)
题目描述:
对输入的字符串进行排序后输出
输入描述:
多个测试用例,每个测试用例一行。 每行通过空格隔开,有n个字符,n<100
输出描述:
对于每组用例输出一行排序后的字符串,用','隔开,无结尾空格
示例: 输入: a,c,bb f,dddd nowcoder 输出: a,bb,c dddd,f nowcoderps:字符串处理,用“,”隔开的字符串,行数不确定,个数不确定
package main
import(
"fmt"
"bufio"
"os"
"strings"
"sort"
)
func main(){
scan:=bufio.NewScanner(os.Stdin)
for scan.Scan(){
num:=strings.Split(scan.Text(),",")
sort.Strings(num)
fmt.Println(strings.Join(num,","))
}
}
特别的:
如果输入的是[1,2,3,4]
//输入为[1,2,3,4]
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
input := scanner.Text()
// 去掉方括号
input = strings.Trim(input, "[]")
// 将字符串拆分为切片
strArray := strings.Split(input, ",")