문제

내가 작성한 코드
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int * Sort(int * arr, int len){
int *ptr = arr;
for(int i = 0; i<len; i++){
for(int j = i; j<len; j++){
if(*(ptr+j) < *(ptr+i)){
int tmp = *(ptr+i);
*(ptr+i) = *(ptr+j);
*(ptr+j) = tmp;
}
}
}
return ptr;
}
int main() {
int len;
scanf("%d", &len);
int num[len];
for(int i = 0; i<len; i++){
scanf("%d", &num[i]);
}
int *ptr;
ptr = Sort(&num, len);
for(int i = 0; i<len; i++){
printf("%d\n", *(ptr+i));
}
return 0;
}
정수형 배열에 입력받은 다음 Sort 함수에서 내 뒤의 원소가 나보다 작을 경우 자리를 바꾸는 식으로 진행했다
포인터 쓰는 거 뭔가...얼렁뚱땅해버렸다... 다시 공부해야될 듯
'C언어 > 문제은행' 카테고리의 다른 글
[8주차] 90도 회전 (0) | 2023.07.17 |
---|---|
[8주차] 2차원 배열 입출력 (0) | 2023.07.17 |
[7주차] 거스름돈 (0) | 2023.07.05 |
[7주차] 두 문자열 비교 함수 (0) | 2023.07.05 |
[4주차] 사다리꼴 출력 (0) | 2023.04.22 |