fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6. char str[100];
  7. scanf("%s", &str);
  8.  
  9. int odd[100], even[100];
  10. int n = strlen(str);
  11. int i1 = 0, i2 = 0;
  12. int count = 0;
  13. for(int i = 0; i < n; ++i)
  14. {
  15. if(str[i] >= '0' && str[i] <= '9')
  16. {
  17. //All Numbers
  18. if((str[i] - '0') % 2 == 0)
  19. even[i1++] = str[i] - '0';
  20. else
  21. odd[i2++] = str[i] - '0';
  22. }
  23. else
  24. {
  25. //Special Characters
  26. count++;
  27. }
  28. }
  29. int n1 = i1, n2 = i2;
  30. for(int i = 0; i < n1; ++i)
  31. printf("%d ", even[i]);
  32. printf("\n");
  33. for(int i = 0; i < n2; ++i)
  34. printf("%d ", odd[i]);
  35. printf("\n");
  36. i1 = 0, i2 = 0;
  37.  
  38. if(count % 2 == 0)
  39. {
  40. int flag = 0;
  41. while(i1 < n1 && i2 < n2)
  42. {
  43. if(flag == 1)
  44. printf("%d", odd[i2++]);
  45. else
  46. printf("%d", even[i1++]);
  47.  
  48. if(flag == 1)
  49. flag = 0;
  50. else
  51. flag = 1;
  52. }
  53. while(i1 < n1)
  54. printf("%d", even[i1++]);
  55. while(i2 < n2)
  56. printf("%d", odd[i2++]);
  57. }
  58. else
  59. {
  60. int flag = 1;
  61. while(i1 < n1 && i2 < n2)
  62. {
  63. if(flag == 1)
  64. printf("%d", odd[i2++]);
  65. else
  66. printf("%d", even[i1++]);
  67.  
  68. if(flag == 1)
  69. flag = 0;
  70. else
  71. flag = 1;
  72. }
  73. while(i1 < n1)
  74. printf("%d", even[i1++]);
  75. while(i2 < n2)
  76. printf("%d", odd[i2++]);
  77. }
  78.  
  79. return 0;
  80. }
Success #stdin #stdout 0s 4524KB
stdin
12111678asdvf
stdout
2 6 8 
1 1 1 1 7 
12161817