fork download
  1.  
  2. #include <iostream>
  3. #include <string.h>
  4. using namespace std;
  5. #define MAX 300
  6.  
  7. int myStrcmp(char s1[], char s2[]);
  8. int myStrlen(char s[], int k);
  9. void myStrcpy(char s[], int vt, char s1[], int k);
  10. void mySubstr(char s[], int b, int count, char ss[]);
  11. bool myStrcat(char s1[], char s2[]);
  12. void StringReverse(char st[]);
  13.  
  14. int main()
  15. {
  16. char s[MAX];
  17. fgets(s,300,stdin);
  18. if (myStrcmp(s, "") == 0)
  19. cout << "Chuoi rong." << endl;
  20. else
  21. {
  22. StringReverse(s);
  23. cout << s << endl;
  24. }
  25. return 0;
  26. }
  27.  
  28. int myStrlen(char s[], int k)
  29. {
  30. k = 0;
  31. while(s[k] != '\0' && s[k] != '\n')
  32. k++;
  33. return k;
  34. }
  35.  
  36. int myStrcmp(char s1[], char s2[])
  37. {
  38. if(s1[0] == '\n' || s1[0] == '\0')
  39. return 0;
  40. return 1;
  41. }
  42.  
  43. void StringReverse(char st[])
  44. {
  45. int len = myStrlen(st, len), temp;
  46. bool check = true;
  47. for(int i = 0; i < len; i++)
  48. if(st[i] == ' ')
  49. {
  50. check = false;
  51. break;
  52. }
  53. if(check)
  54. {
  55. for(int i = 0; i < len; i++)
  56. cout << st[i];
  57. st[0] = '\0';
  58. return;
  59. }
  60. for(temp = len - 1; temp >= 0; temp--)
  61. {
  62. if(st[temp] == ' ')
  63. break;
  64. }
  65. for(int i = temp + 1; i < len; i++)
  66. cout << st[i];
  67. cout << ' ';
  68. for(int i = temp; i >= 0; i--)
  69. if(st[i] == ' ')
  70. for(int j = i - 1; j >= 0; j--)
  71. if(st[j] == ' ')
  72. {
  73. for(int k = j + 1; k < i; k++)
  74. {
  75. cout << st[k];
  76. }
  77. i = j;
  78. cout << ' ';
  79. }
  80. temp = 0;
  81. while(st[temp] != ' ')
  82. cout << st[temp++];
  83. st[0] = '\0';
  84. return;
  85. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
`