先分析一下题目ovo
1.输入数据是浮点数不一定是整数
2.输入数据可以为0或负数
3.输入数据不会全为0
做法依旧是排序,然后对首位和末位的正负进行判断ovo
设a是存数据的数组,对a排序后a[1]为最小值,a[n]为最大值
将情况分为一下4种
1. a[1] >= 0 && a[n] > 0 直接输出a[1]/a[n]
2. a[1]<0 && a[n]>0 这种情况下我们要取两个最接近0的正数和负数,设他们为zeroup和zerodown
然后在 (a[1] / zeroup) 与 (a[n] / zerodown )中取最小负数当最小值
3. a[n]==0 这时候前面的数一定都是负数,由于负数*负数一定为正数,所以直接输出0
4. a[n] < 0 直接输出a[n]/a[1]
(如有不足希望dalao补充qwq)