Guest User

Untitled

a guest
Mar 21st, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. void change(char *, char *);
  6. void numeng(char *, char *, char *);
  7. int cmp(const void *a, const void *b);
  8.  
  9. #define LENGTH 1000
  10. typedef char *CharPtr;
  11.  
  12. int main()
  13. {
  14. int i, n, len_num = 0, len_eng = 0, len_str = 0, key = 1;
  15. char str1[LENGTH] = {}, str[LENGTH] = {}, str_num[LENGTH] = {}, str_eng[LENGTH] = {};
  16.  
  17. while(gets(str1) != NULL) {
  18. if(key != 1)
  19. printf("\n");
  20. key = 0;
  21. change(str1, str);
  22. printf("%s", str);
  23. printf("\n");
  24. numeng(str, str_num, str_eng);
  25. printf("%s", str_num);
  26. printf("%s\n", str_eng);
  27. len_num = strlen(str_num);
  28. len_eng = strlen(str_eng);
  29. //printf("str:%d num:%d eng:%d", len_str, len_num, len_eng);
  30. for(i = 0; i < len_eng; i++) {
  31. printf("%c", str_eng[i]);
  32. }
  33. for(i = 0; i < len_num; i++) {
  34. printf("%c", str_num[i]);
  35. }
  36. printf("\n");
  37. len_str = strlen(str);
  38. qsort(str, len_str, sizeof(char), cmp);
  39. printf("%s\n", str);
  40. for(i = len_num - 1; i >= 0; i--) {
  41. printf("%c", str[i]);
  42. }
  43. for(i = len_str - 1; i >= len_num; i--) {
  44. printf("%c", str[i]);
  45. }
  46. printf("\n");
  47. for(i = len_num - 1; i >= 0; i--) {
  48. printf("%c", str[i]);
  49. }
  50. for(i = len_num; i < len_str; i++) {
  51. printf("%c", str[i]);
  52. }
  53. printf("\n");
  54. for(i = 0; i < len_num; i++) {
  55. printf("%c", str[i]);
  56. }
  57. for(i = 0; i < len_eng; i++) {
  58. printf("%c", str_eng[i]);
  59. }
  60. printf("\n");
  61. for(i = len_num; i < len_str; i++) {
  62. printf("%c", str[i]);
  63. }
  64. for(i = 0; i < len_num; i++) {
  65. printf("%c", str_num[i]);
  66. }
  67. printf("\n");
  68. }
  69. return 0;
  70. }
  71.  
  72. void change(char *str1, char *str)
  73. {
  74. int i, j = 0;
  75.  
  76. i = 0;
  77. while(str1[i] != '\0') {
  78. if((str1[i] >= 'A' && str1[i] <= 'Z') || (str1[i] >= '0' && str1[i] <= '9') || (str1[i] >= 'a' && str1[i] <= 'z')) {
  79. if(str1[i] >= 'A' && str1[i] <= 'Z') {
  80. str[j] = str1[i] + 32;
  81. }
  82. else {
  83. str[j] = str1[i];
  84. }
  85. j++;
  86. }
  87. i++;
  88. }
  89. str[j] = '\0';
  90. return;
  91. }
  92.  
  93. void numeng(char *str, char *str_num, char *str_eng)
  94. {
  95. int i, j = 0;
  96.  
  97. i = 0;
  98. while(str[i] != '\0') {
  99. if(str[i] >= '0' && str[i] <= '9') {
  100. str_num[j] = str[i];
  101. j++;
  102. }
  103. i++;
  104. }
  105. str_num[j] = '\0';
  106. j = 0;
  107. i = 0;
  108. while(str[i] != '\0') {
  109. if(str[i] >= 'a' && str[i] <= 'z') {
  110. str_eng[j] = str[i];
  111. j++;
  112. }
  113. i++;
  114. }
  115. str_eng[j] = '\0';
  116.  
  117. return;
  118. }
  119.  
  120. int cmp(const void *a, const void *b)
  121. {
  122. return (*(char *)(a)) - *(char *)b;
  123. }
Add Comment
Please, Sign In to add comment