为什么结果就是不对

来源:6-8 最终项目

慕雪9138796

2018-09-19 12:53

int[] fs= new int[4];

            string[] name = new string[4];

            int max = fs[0];

            string maxname=null;

            for (int i=0;i<name.Length;i++)

            {

                Console.WriteLine("请输入第" +(i+1) + "位学生的姓名");

                name[i]=Console.ReadLine();

                Console.WriteLine("请输入第" +(i+1) + "位学生的成绩");

                fs[i]=int.Parse(Console.ReadLine());

                if (fs[i] > max)

                {

                    max = fs[i];

                    maxname = name[i];

                    

                }

                

            }

            Console.WriteLine("最大值是:" + max + "人是" + maxname);

            

        

            int sum = 0, avg=0; 

            for(int j=0;j<fs.Length;j++)

            {

                sum = sum + fs[j];

                avg = sum / fs.Length;

                if (fs[j]>avg)

                

                    

                    Console.WriteLine( name[j]);

                   

                

            }


写回答 关注

2回答

  • ILIKE学习
    2019-03-02 11:01:12

                int[] fs = new int[4];
                string[] name = new string[4];
                int max = fs[0];
                string maxname = null;
                int sum = 0;
                for (int i = 0; i < name.Length; i++)
                {
                    Console.WriteLine("请输入第" + (i + 1) + "位学生的姓名");
                    name[i] = Console.ReadLine();
                    Console.WriteLine("请输入第" + (i + 1) + "位学生的成绩");
                    fs[i] = int.Parse(Console.ReadLine());
                    if (fs[i] > max)
                    {
                        max = fs[i];
                        maxname = name[i];

                    }
                    sum = sum + fs[i];
                }
                Console.WriteLine("最大值是:" + max + "人是" + maxname);

                int avg;
                avg = sum / fs.Length;
                Console.WriteLine("平均分是{0},高于平均分的有",avg);
                for (int j = 0; j < fs.Length; j++)
                {
                    if (fs[j] > avg)
                    {
                        Console.WriteLine(name[j]+" ");
                    }
                }

    //sum要放在第一个循环里,avg放在循环的外面,不然就是sum的第一个总值被除,而不是全部被除。

  • 涛阿涛
    2018-09-20 17:25:35

    再缕缕思路

C#开发轻松入门

本门课程是C#语言的入门教程,将带你轻松入门.NET开发

254118 学习 · 1459 问题

查看课程

相似问题