各位大佬请帮我简化下我的代码,感觉有些复杂

来源:6-1 练习题目

罪恶倾城

2018-09-17 15:38

 static void Main(string[] args)
        {
            //声明 两组数组 ;
            int[] score =new int[]{89,90,98,86,60,91,93,85};
            string[] name = new string []{"吴松","钱东宇","伏晨","陈陆","周蕊","林日鹏","何昆","关欣"};
            //声明 分数中的 最大值;
            int max = score[0];
            //判断出了最大的分数;
            for (int i =0;i<score.Length;i++)
            {
                max =max>score[i]?max:score[i];

            }
            //现在要判断出分数的拥有者,即分数在数组中的具体位置
             for(int j = 0;j<score.Length;j++)
             {
                 if(max == score[j])
                 {
                    Console.Write("分数最高的是"+ name[j]+ ",分数是"+max);
                   
                 }
             }
   
        }


写回答 关注

3回答

  • 慕莱坞2375072
    2018-09-17 19:59:00
    已采纳

     static void Main(string[] args)
            {
                //声明两组数组 ;
                int[] score =new int[]{89,90,98,86,60,91,93,85};
                string[] name = new string []{"吴松","钱东宇","伏晨","陈陆","周蕊","林日鹏","何昆","关欣"};
                //声明分数中的最大值和得分者;
                int max = 0;

                string topName = null;
                //判断出了最大的分数;
                for (int i =0;i<score.Length;i++)
                {
                    if (score[i]>max)

                    max =score[i];

                    topName = name[i];

                }
                        Console.Write("分数最高的是{0},分数是{1}", topName, max);//输入结果
                       
        }


    微风拂过v

    为什么我for (int i =0;i<score.Length;i++)换成foreach(int i in score),程序就不好使了呢?

    2018-10-15 09:40:51

    共 2 条回复 >

  • 微风拂过v
    2018-10-14 14:01:34

    static void Main(string[] args)
            {
                //声明两组数组 ;
                int[] score =new int[]{89,90,98,86,60,91,93,85};
                string[] name = new string []{"吴松","钱东宇","伏晨","陈陆","周蕊","林日鹏","何昆","关欣"};
                //声明分数中的最大值和得分者;
                int max = 0;

                string topName = null;
                for (int i =0;i<score.Length;i++)   //判断出了最大的分数;            {
                    if (score[i]>max)

                  {

                    max =score[i];

                    topName = name[i];

                   }

                }
                        Console.Write("分数最高的是{0},分数是{1}", topName, max);//输入结果
                        
        }


  • 慕斯卡7915457
    2018-10-13 17:18:52

                int[] num =new int[8]{89, 90, 98, 56, 60, 91, 93, 85 };

                string[] name = new string[8] { "吴松", "钱东宇", "伏晨", "陈陆", "周蕊", "林日鹏", "何昆", "关欣" };

                int max = 0;

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

                {

                    max = num[max] > num[i] ? max : i;

                }

                Console.WriteLine("分数最高的是{0},分数是{1}",name[max],num [max]);


    微风拂过v

    请问你写的程序里 max = num[max] > num[i] ? max : i; 如果把?:换用if...else表达是怎样的?

    2018-10-15 08:52:30

    共 1 条回复 >

C#开发轻松入门

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

255540 学习 · 1485 问题

查看课程

相似问题