函数还可以改进,比如说 找出最小的N个元素的下标
#include "stdio.h"
void lowest(int *a ,int b,int *c){
int i = 0,j = 1;
int val=0;
int tmp=0;
for(j=0;j<5;j++) {
val = *(a + b - 1);
tmp = b-1;
for(i=0;i<15;i++) {
if(i == *(c+0) || i == *(c+1) || i == *(c+2) || i == *(c+3))
continue;
if (val > *(a+i)){
tmp = i;
val = *(a+i);
}
}
*(c+j) = tmp;
}
}
int main(){
int a[15]={10,8,20,5,6, 4,10,7,9,3, 11,18,14,15,24};//数组
int c[15]={0};//下标存放在这里
int i=0;
int tmp =0 ;
/*
putchar('\n');
for(i=0;i < 15;i++){
printf("%3d ",i);
}
*/
putchar('\n');
for(i=0;i < 15;i++){
printf("%3d ",a[i]);
}
putchar('\n');
lowest(a,15,c);
for(i=0;i< 15 ;i++){
tmp = *(c+i);
printf("%3d ",tmp);
}
putchar('\n');
return 0;
}