fork(2) download
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main()
  4. {
  5. char str[1001] = { '\0' };
  6. scanf("%s", str);
  7. char str1[1000][1001]={'\0'};
  8. int i,j;
  9. int sum,num= strlen(str);
  10. for (j = 0; j < num; j++)
  11. {
  12. for (i = 0; i < num-j; i++)
  13. {
  14. str1[j][i] = str[i+j];
  15. }
  16. }//사전순서에 관계없이 잘라서 정리함
  17. char tmp[1001];//바꾸기위해 만듬
  18.  
  19. for (;;)
  20. {
  21. sum = 0;
  22. for (i = 0; i < num-1; i++)
  23. {
  24. if (strcmp(str1[i], str1[i + 1])==1)//사전순서가 반대로 되어있을 때
  25. {
  26. for (j = 0; j < num; j++)//바꾸기
  27. {
  28. tmp[j] = str1[i + 1][j];
  29. str1[i + 1][j] = str1[i][j];
  30. str1[i][j] = tmp[j];
  31. }
  32. }
  33. else sum++;
  34. }
  35. if (sum == num-1)break;//사전순서대로 정렬이 되었다면 포문 탈출
  36. }
  37.  
  38.  
  39. for (i = 0; i < num; i++)
  40. {
  41. printf("%s\n", str1[i]);//출력
  42. }
  43. }
Success #stdin #stdout 0s 16096KB
stdin
aaa
stdout
aaa
aa
a