题解 我吐了,一定要注意结尾是有空集的!!| #记负均正#
记负均正
http://www.nowcoder.com/practice/6abde6ffcc354ea1a8333836bd6876b8
using System;
using System.Collections.Generic;
class JiFu
{
static void Main()
{
string GeShu1 ;
while (( GeShu1 = Console.ReadLine() ) != null)
{
int GeShu = int.Parse(GeShu1); //输入整数个数
string ZiFu = Console.ReadLine();//输入整数字符串
string[] DanShu = ZiFu.Split(" ", options: StringSplitOptions.RemoveEmptyEntries);//整数字符串分成数组
int Chang = DanShu.Length; //数组长度
int FuShu = 0; //负数个数
int ZhenShuJiShu = 0; //正整数个数
int test = 0;
int ZhenShuZong = 0;//正整数积 总和
for (int i = 0; i < Chang; i++) //遍历所有数值元素
{
if (int.Parse(DanShu[i]) < 0) //如果数组元素小于0
{
test = int.Parse(DanShu[i]);
FuShu++; //记录到负数个数上
}
else if (int.Parse(DanShu[i]) > 0)//如果数组元素大于0
{
ZhenShuZong += int.Parse(DanShu[i]); //累计所有正整数积
ZhenShuJiShu++; //正整数个数累加
}
}
//foreach (var BuZhonYao in DanShu)
//{
// if (int.Parse(BuZhonYao) < 0) //如果数组元素小于0
// {
// test = int.Parse(BuZhonYao);
// FuShu++; //记录到负数个数上
// }
// else if (int.Parse(BuZhonYao) > 0)//如果数组元素大于0
// {
// ZhenShuZong += int.Parse(BuZhonYao); //累计所有正整数积
// ZhenShuJiShu++; //正整数个数累加
// }
//}
//除非正整数数量为0,否则,计算平均数,并输出
if (ZhenShuJiShu == 0)
{
Console.WriteLine("{0} 0.0", FuShu);
}
else
{
int[] max = Math(ZhenShuZong, ZhenShuJiShu);//使用计算小数函数
Console.WriteLine("{0} {1}.{2}", FuShu, max[0],max[1]);//输出
}
}
}
public static int[] Math(int ZhenShuZong, int ZhenShuJiShu)
{
int GeWei = ZhenShuZong / ZhenShuJiShu; //整数部分,输出整数
int XiaoShu = (ZhenShuZong % ZhenShuJiShu)*10 / ZhenShuJiShu;//一位小数
int XiaoShu2 = ((ZhenShuZong % ZhenShuJiShu) * 10) % ZhenShuJiShu *10 / ZhenShuJiShu;//二位小数
if ( XiaoShu2 >=5)//约分
{
XiaoShu++;
}
int[] Max = new int[] { GeWei, XiaoShu };//记录结果
return Max;//输出
}
}

