課程
/后端開發
/C
/C語言入門
還是不明白答案為什么是10,1,3,12,22,麻煩大佬解答一下
2019-03-05
源自:C語言入門 6-4
正在回答
#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};
? ? replaceMax(arr1, arr2[0]); //將數組arr1和數組arr2的第一個元素傳入函數中
? ? for(i=0;i<5;i++)
? ? ? ? printf("%d ",arr1[i]); ? ? ? ? ? ? ? ?
? ? }
首先他是把arr1這整個數組和arr2第一個元素也就是1傳入函數replaceMax()中去了,然后在這個函數申明一個變量max用來存儲arr1數組中最大的元素,然后并賦值arr1[0]也就是10,最后又用了一個for循環來遍歷arr1數組中所有元素,如果遇到大于max的元素,就把那個元素重新賦給max,就這樣依次類推;這兒index是用來記錄arr1數組中最大元素的索引,以至于最后好替換它的值,最后循環結束后arr數組中最大值也就找出來了;最后就把arr數組中最大的元素替換為arr2[0];就行了,自然arr1原先41也就變成了arr2中的1了。
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
3 回答麻煩大佬解答一下這題。。。。看不懂
1 回答答案是什么意思啊,求大佬解決
1 回答不明白答案
2 回答明明答案是-50 怎么還是不對
1 回答麻煩解答一下
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-03-06
#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]); ? ? ? ? ? ? ? ?
? ? }
首先他是把arr1這整個數組和arr2第一個元素也就是1傳入函數replaceMax()中去了,然后在這個函數申明一個變量max用來存儲arr1數組中最大的元素,然后并賦值arr1[0]也就是10,最后又用了一個for循環來遍歷arr1數組中所有元素,如果遇到大于max的元素,就把那個元素重新賦給max,就這樣依次類推;這兒index是用來記錄arr1數組中最大元素的索引,以至于最后好替換它的值,最后循環結束后arr數組中最大值也就找出來了;最后就把arr數組中最大的元素替換為arr2[0];就行了,自然arr1原先41也就變成了arr2中的1了。