求个大佬帮下,用指针函数解决
要求:在一个数组内。求出最大值和次大值,以及最大值和次大值的位置,用数组存输出的值,如输出数组是f_out[4]={最大值,位置,次大值,次最大值的位置},这样的顺序,请问能帮下么?
void getFirstTwo(int* a,int len){ int max1,max2;//最大值,次最大值 int index1,index2;//最大值索引,次最大值索引 max1 = max2 = a[0]; index1 = index2 = 0; for(int i=1;i<len;i++){ if(a[i]>max1){ max2 = max1; max1 = a[i]; index1 = i; }else if(a[i]>max2){ max2 = a[i]; index2 = i; } } printf("max1 = %d index1 = %d \n max2 = %d index2 = %d\n",max1,index1,max2,index2); }