1. 그냥 출력하기 혹은 추가 배열에 저장하기
#include<stdio.h> #include<string.h> int main(void) { char a[] = "My Name Is Soy Lee"; int i, j; printf("%s\n", a); for(i=strlen(a)-1; i>=0; i--) { if(a[i]==' ') { for(j=i+1; a[j]!=' ' && a[j]!='\0'; j++) printf("%c", a[j]); printf(" "); } else if(i==0) { for(j=i; a[j]!=' '; j++) printf("%c", a[j]); } } printf("\n"); return 0; } | cs |
2. 추가 배열 없이, 기존 배열에서 위치 바꾸기
#include<stdio.h> #include<string.h> void rev(int start, int end, char arr[]) { char temp; int i = start, j; for(j=0; j< (end-start)/2; j++) { temp = arr[i]; arr[i] = arr[end-1-j]; arr[end-1-j] = temp; i++; } printf("%s\n", arr); } int main(void) { int start=0, end, i; char a[] = "My Name Is Soy Lee"; printf("%s\n", a); rev(0, strlen(a), a); printf("%s\n",a); for(i=0; i<=strlen(a); i++) { if(a[i]==' ' || a[i]=='\0') { end=i; rev(start, end, a); start = i+1; } } printf("\n"); return 0; } | cs |
My Name is Soy Lee -> Lee Soy is Name My
댓글0