亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么跑出來結果不一樣呢?

using System;

using System.Collections.Generic;

using System.Text;


namespace projGetMaxScore

{

? ? class Program

? ? {

? ? ? ? static void Main(string[] args)

? ? ? ? {

? ? ? ? ? ? string[] name = new string[]{"吳松","錢東宇","伏晨","陳陸","周蕊","林日鵬","何昆","關欣"};

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

? ? ? ? ? ? int max,i,j;

? ? ? ? ? ? for(i=1,j=1;i<score.Length;i++){

? ? ? ? ? ? ? ? max=score[0];

? ? ? ? ? ? ? ? if(max<score[i]){

? ? ? ? ? ? ? ? ? ? max=score[i];

? ? ? ? ? ? ? ? ? ? j=i;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? Console.WriteLine("分數最高的是{0},分數是{1}",name[j],score[j]);

? ? ? ? }

? ? }

}

結果:分數最高的是何昆,分數是93

正在回答

3 回答

你把max=score[0];放到For 循環的外面,不然每進行一次循環,都會重新賦值.

1 回復 有任何疑惑可以回復我~

你這個每次循環都是先把score[0]的值賦給max變量,然后再進行if條件選擇,所以循環執行到倒數第二個數據的時候,89<93成立,93對應的i被賦值給j 。而循環到最后一個,85<93不成立,就不交換,所以結果就是93

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

你把max=score[0]放到循環外面就行了

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

舉報

0/150
提交
取消

為什么跑出來結果不一樣呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號