我的答案為什么不對(duì)?
#include "stdio.h"
int ?replacemax(int arr[],int value)
{
? ? int max, i;
? ? max=arr[0];
for(i=1;i<5;i++)
{
if(max<arr[i])
? ? ? max=arr[i];
?
}
max=value;
}
int main()
{ ??
int i;
int arr1[5]={10,41,3,12,22};
int arr2[5]={1,2,3,4,5};
replacemax(arr1,arr2[0]);
? ? for(i=0;i<5;i++)
printf("%d\t",arr1[i]);
return 0;
}
2015-07-28
你的函數(shù)寫(xiě)錯(cuò)了。因?yàn)槟氵@個(gè)max是一個(gè)臨時(shí)變量,你只是把value的值給max,而max卻無(wú)法把值傳給相應(yīng)的數(shù)組的位置,可以這樣改。
#include "stdio.h"
void ?replacemax(int arr[],int value)
{
? ? int max, i,pos; ?//pos為最大值所在數(shù)組的下標(biāo)
? ? max=arr[0];
? ? pos = 0;
? ? for(i=1; i<5; i++)
? ? {
? ? ? ? if(max<arr[i])
? ? ? ? {
? ? ? ? ? ? max=arr[i];
? ? ? ? ? ? pos = i;
? ? ? ? }
? ? }
? ? arr[pos]=value;
}
int main()
{
? ? int i;
? ? int arr1[5]= {10,41,3,12,22};
? ? int arr2[5]= {1,2,3,4,5};
? ? replacemax(arr1,arr2[0]);
? ? for(i=0; i<5; i++)
? ? ? ? printf("%d\t",arr1[i]);
? ? return 0;
}
2015-07-28
你的replacemax是什么意思。另外你怎么沒(méi)有 return max,?