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

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

有大佬能解釋一下這代碼嗎,作為小白看不懂為什么運行結果是10 1 3 12 22,拜托啦

#include <stdio.h>

void replaceMax(int arr[],int value)

{

? ? int max = arr[0];

? ? int index = 0;

? ? int i;

? ? for(i=1;i<5;i++)

? ? {

? ? ? ? if(arr[i]>max)

? ? ? ? {

? ? ? ? ? ? max=arr[i]; ? ? ? ? ?//將數組中較大的數賦值給max

? ? ? ? ? ? index = i; ?//記錄當前索引

? ? ? ? } ? ? ? ? ? ? ? ?

? ? } ?

? ? arr[index] = value;

}


int main()

{

? ? int arr1[] = {10,41,3,12,22};

? ? int arr2[] = {1,2,3,4,5};

? ? int i; ?

? ? replaceMax(arr1, arr2[0] ); //將數組arr1和數組arr2的第一個元素傳入函數中

? ? for(i=0;i<5;i++)

? ? {

? ? ? ? printf("%d ",arr1[i]); ? ? ? ? ? ? ? ?

? ? }

? ? return 0; ? ?

}


正在回答

1 回答

這個代碼里面一共有兩個部分,要實現的是把arr2中第一個元素替換arr1中最大的元素,這就是上面那個函數 replaceMax在做的。 定義的max, index是為了找到里面最大的元素以及該元素的位置,定義的value是為了最后的替換,替換過程在最后一行,也就是

arr[index] = value,就是把元素(value)替換到arr里的過程。

在定義完這個函數以后就進行到了main函數,里面也調用了replaceMax去換元素,然后利用for loop去把每一個元素都打印出來。

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

一只不聰明的小怪獸

定義max怎么找到的最大的元素以及該元素的位置呀??可以解釋一下嗎?謝謝啦
2019-05-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

有大佬能解釋一下這代碼嗎,作為小白看不懂為什么運行結果是10 1 3 12 22,拜托啦

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

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

幫助反饋 APP下載

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

公眾號

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