为了账号安全,请及时绑定邮箱和手机立即绑定

求解???

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

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

            int max = num[0];

            string name = xingming[0];

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

            {

                if (num[i] > max) { 

                    max = num[i]; 

                    name = xingming[i];

               break;//这里加个break就不对了?为啥

                }

            }

            Console.Write("分数最高的是{0},分数是{1}", name, max);


正在回答

2 回答

if执行完就完了,break要在for循环里面

0 回复 有任何疑惑可以回复我~

你可以设置一下断点再调试,看看每一步每个变量的数值。然后看看从哪里中止了程序。

这里你首先让max 赋第一个分数数组的值89分。

然后进入循环i从0开始,然后进入判断 num[0]的值89 是不是大于 max的值89,发现不是就不执行里面的语句。继续下一步循环。这时候i=1,然后判断num[1]的值90 是不是大于 max的值 89,发现是,就执行里面的语句。让max = num[1] = 90; 然后姓名 name = xingming[1]; 也就是钱东宇。之后就执行break的语句了。而break就是中止整个循环(注意这里不是中止if语句,if不需要用到break的)。那么后面就不再执行循环,就没有遍历整个数组了哦。

最后就是输出分数最高的是谁,分数是多少了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C#开发轻松入门
  • 参与学习       254275    人
  • 解答问题       1459    个

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

进入课程

求解???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信