题目
HJ97 记负均正
描述
首先输入要输入的整数个数n,然后输入n个整数。输出为n个整数中负数的个数,和所有正整数的平均值,结果保留一位小数。
0即不是正整数,也不是负数,不计入计算。如果没有正数,则平均值为0。
数据范围:
1
≤
�
≤
2000
1≤n ≤2000 ,输入的整数都满足
∣
�
�
�
∣
≤
1000
∣val∣≤1000
输入描述:
首先输入一个正整数n,
然后输入n个整数。
输出描述:
输出负数的个数,和所有正整数的平均值。
示例1
输入:
11
1 2 3 4 5 6 7 8 9 0 -1
复制
输出:
1 5.0
复制
示例2
输入:
3
0 0 0
复制
输出:
0 0.0
golang实现
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
nums:=make([]int,0)
scan:=bufio.NewScanner(os.Stdin)
for scan.Scan(){
str:= scan.Text()
arr_str:=strings.Fields(str)
for _,v:=range arr_str{
n_int,_:=strconv.Atoi(v)
nums = append(nums, n_int)
}
}
count:=0
sum:=0.0
if len(nums)>=1{
nums = nums[1:]
}
positive_number:=0
for _,v:=range nums{
if v<0{
count =count +1
}
if v >0{
sum =sum +float64(v)
positive_number = positive_number+1
}
}
if sum==0.0{
fmt.Printf("%d %.1f\n",count,sum)
}else{
fmt.Printf("%d %.1f\n",count,sum/float64(positive_number))
}
}