컴퓨터 & 프로그래밍 & 전자공학/C언어
내림차순 정렬
셀맨1
2017. 1. 6. 01:38
반응형
문자열을 가리키고 있는 포인터의 배열을 인수로 받아서 문자열을 알파벳 순으로 정렬시키는 함수 sort_strings()를 작성하고 테스트하여 보라. 다음과 같은 원형을 가진다.
진짜 오래걸렸네요.. 괄호 안쳐서 2시간동안 해맸네요 짜증... ㅜ,ㅜ
각 포인터가 배열이니까 첫글자만 비교해서 서로 교환해주면 됩니다.. (교환하기 위해선 빈 물 컵이 있어야 한다는 것.. 잊지 않으셨죠??)
string[0] 은 포인터 string 은 이중포인터 tmp는 포인터 .. 점점 더 헷갈리는 느낌입니다.
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 | #include <stdio.h> #define SIZE 3 void sort_strings(char *s[], int size); int main(void) { char *string[SIZE]={"mycopy","src","dst"}; int i; sort_strings(string,SIZE); for(i=0;i<SIZE;i++) { printf("%d번째 문자열 : %s\n", i, string[i]); } return 0; } void sort_strings(char *s[], int size) { int i, j; char *tmp=NULL; for(i=0;i<size;i++){ for(j=i+1;j<size;j++) { if(*s[i]>*s[j]) {tmp=s[i]; s[i]=s[j]; s[j]=tmp;} }} } | cs |
반응형