求解???
?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);
2024-11-15
if執行完就完了,break要在for循環里面
2022-11-15
你可以設置一下斷點再調試,看看每一步每個變量的數值。然后看看從哪里中止了程序。
這里你首先讓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的)。那么后面就不再執行循環,就沒有遍歷整個數組了哦。
最后就是輸出分數最高的是誰,分數是多少了。