本來是這樣#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; ? ?}結果為 10 1 3 12 22改后#include <stdio.h>void replaceMax(int arr[],int value){? ? int max = 0;? ?? ? int i;? ? for(i=1;i<5;i++)? ? {? ? ? ? if(arr[i]>max)? ? ? ? {? ? ? ? ? ? max=arr[i]; ? ? ? ? ?//將數組中較大的數賦值給max? ? ? ? ? ? arr[i]=value;? ? ? ? ? ? value=max? ? ? ? } ? ? ? ? ? ? ? ?? ? } ?? ??}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 10 3 12 22
- 1 回答
- 0 關注
- 1060 瀏覽
添加回答
舉報
0/150
提交
取消