0
정렬 여부를 내 코드입니다 : 여기qsort가 내 배열 여기
#include <stdio.h>
#include <stdlib.h>
float comp (const void * elem1, const void * elem2) {
float f = *((float*)elem1);
float s = *((float*)elem2);
if (f > s) return 1;
if (f < s) return -1;
return 0;
}
int main(void) {
int t, n, temp, temp1, x;
float input[2][50][1000];
scanf("%d", &t);
for(temp=0; temp<t; temp++){
scanf("%d ", &n);
for(temp1=0; temp1<n; temp1++){
scanf("%f", &input[0][temp][temp1]);
}
for(temp1=0; temp1<n; temp1++){
scanf("%f", &input[1][temp][temp1]);
}
for(x=0; x<temp1; x++){
printf("%f", input[0][temp][x]);
}
qsort (input[0][temp], n, sizeof(*input[0][temp]), comp);
printf("\n Sorted Array:");
for(x=0; x<temp1; x++){
printf("%f", input[0][temp][x]);
}
}
return 0;
}
와 나의 출력 : 0.7000000.2000000.800000 정렬 된 배열 : qsort가 인 이유 0.7000000.2000000.800000이
사람이 (말할 수)하지 나를 위해 일해?
비교 함수는'int' (float이 아니라)를 반환해야합니다. –
[** 라이브보기 **] (http://ideone.com/XCDxl0) – WhozCraig
@AlterMann Hail! 감사합니다 –