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