求解???
?int[] num = new int[]{89,90,98,56,60,91,93,85};
? ? ? ? ? ? string[] xingming = new string[]{ "吳松", "錢東宇", "伏晨", "陳陸", "周蕊", "林日鵬", "何昆", "關(guān)欣" };
? ? ? ? ? ? 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("分?jǐn)?shù)最高的是{0},分?jǐn)?shù)是{1}", name, max);
2024-11-15
if執(zhí)行完就完了,break要在for循環(huán)里面
2022-11-15
你可以設(shè)置一下斷點(diǎn)再調(diào)試,看看每一步每個變量的數(shù)值。然后看看從哪里中止了程序。
這里你首先讓max 賦第一個分?jǐn)?shù)數(shù)組的值89分。
然后進(jìn)入循環(huán)i從0開始,然后進(jìn)入判斷 num[0]的值89 是不是大于 max的值89,發(fā)現(xiàn)不是就不執(zhí)行里面的語句。繼續(xù)下一步循環(huán)。這時候i=1,然后判斷num[1]的值90 是不是大于 max的值 89,發(fā)現(xiàn)是,就執(zhí)行里面的語句。讓max = num[1] = 90; 然后姓名 name = xingming[1]; 也就是錢東宇。之后就執(zhí)行break的語句了。而break就是中止整個循環(huán)(注意這里不是中止if語句,if不需要用到break的)。那么后面就不再執(zhí)行循環(huán),就沒有遍歷整個數(shù)組了哦。
最后就是輸出分?jǐn)?shù)最高的是誰,分?jǐn)?shù)是多少了。