能詳細的解釋一下運行過程嗎?
#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;???
}
2018-08-30
replaceMax(int arr[],int value)
這個函數的做用是將value的值頂替掉arr數組中的最大值? ?
具體步驟是先將數組第一個值賦給定義的最大值max? 再通過for循環(huán)遍歷整個數組,將數組內的每個值和max作比較,有大取大,直到循環(huán)結束,max里面的值是數組內的最大值,index是腳標,記錄最大值在數組內的位置,函數的最后就是將value的值填到最大值在的那個坑 ,完成替換
在main函數內調用replaceMax函數實現arr1和arr2的數值調換?
2018-08-26
我不會