C언어/C언어 자료실
내림차순 정렬, 최댓값 찾기
Chipmunks
2018. 4. 27. 18:02
728x90
시험 끝난 금요일, 출석점수가 않는 수업 하나밖에 없어서 자체휴강했다.
시험 기간에 쌓인 피로로 아침 밥만 먹고 오후까지 잠을 잤다.
독서도 할겸 5월 달 계획도 세울겸 해서 집 앞 카페로 출발하던 차에,
후배가 C언어 수업시간에, 수업 끝날때까지 제출할 과제좀 해달라 해서 급히 카페에서 코드를 짰다.
내림차순 정렬
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <stdio.h> #include <stdlib.h> int descending(const void* a, const void* b) { if(*(int *)a < *(int *)b) return 1; else if(*(int *)a > *(int *)b) return -1; else return 0; } int main(int argc, char* argv[]) { int inputSize = 0, iterated; int *arrA; printf("Please input size of array: "); scanf("%d", &inputSize); arrA = (int *)malloc(sizeof(int) * inputSize); printf("Please input value:\n"); for (iterated = 0; iterated < inputSize; iterated++) { printf("A[%d] = ", iterated); scanf("%d", &arrA[iterated]); } qsort(arrA, inputSize, sizeof(int), descending); printf("\n\nArray after sorting in descending order:\n"); for (iterated = 0; iterated < inputSize; iterated++) { printf("A[%d] = %d\n", iterated, arrA[iterated]); } free(arrA); return 0; } | cs |
최댓값 찾기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { int inputSize = 0, iterated, max = 0, maxIndex = 0; int *arrA; do { if (inputSize > 10) { printf("Size of array has to smaller than 10. Please input again.\n\n"); } printf("Please input size of array: "); scanf("%d", &inputSize); } while(inputSize > 10); arrA = (int *)malloc(sizeof(int) * inputSize); printf("Please input value:\n"); for (iterated = 0; iterated < inputSize; iterated++) { printf("A[%d] = ", iterated); scanf("%d", &arrA[iterated]); if (iterated == 0) max = arrA[iterated]; if (max < arrA[iterated]) { max = arrA[iterated]; maxIndex = iterated; } } printf("\nThe maximum element in the input array is a[%d] = %d\n\n", maxIndex, max); free(arrA); return 0; } | cs |
수업 진도가 어디까지 나갔는지 몰라 그냥 내 식대로 짰다. 정수형 배열은 malloc() 함수로 동적으로 생성해줬다.
정렬은 qsort() 함수로 두 수를 비교하는 함수를 콜백함수로 전달해, 내림차순으로 정렬해줬다.