關于max=arr[i],各位進來看看
#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;? ??
}
在整個代碼中max=arr[i]過后 max就沒有出現過了 我覺得去掉這句也沒問題 可是不行 那么這句有什么用呢
2018-07-30
如果把max去掉,那么if語句就不能去尋找最大值了,每次循環只是尋找大于最開始的那個max值而已。
2018-07-27
運行成功,輸入錯誤
我的結果最后是這個,運行正確,至于輸入錯誤,不用管了