题目
HJ97 记负均正
描述
首先输入要输入的整数个数n,然后输入n个整数。输出为n个整数中负数的个数,和所有正整数的平均值,结果保留一位小数。
0即不是正整数,也不是负数,不计入计算。如果没有正数,则平均值为0。数据范围:
1
≤
�≤
20001≤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 mainimport ("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:=0sum:=0.0if len(nums)>=1{nums = nums[1:]}positive_number:=0for _,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))}}