题解 我吐了,一定要注意结尾是有空集的!!| #记负均正#

记负均正

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;//输出
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务