fork download
  1. //Терещенко Никита АИ-42 задание 17
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int len(char* str){ //функция по определению длины строки
  6. int i = 0;
  7. while (str[i] != '\0'){
  8. i++;
  9. }
  10. return i;
  11. }
  12.  
  13. char* reverseStr(char* str){
  14. char word[100] = {0}, *res = malloc(len(str) + 1); //объявляем строку и массив для слова
  15. int word_count = 0, res_count = 0; //создаем счетчик длины слова
  16. for (int i = 0; i < len(str); i++){ //проходим по строке
  17. while(str[i] != ' ' && str[i] != '\0'){ //пока не встретим пробел или конец строки
  18. word[word_count++] = str[i]; //записываем символы в массив слова
  19. i++;
  20. }
  21. for (int j = word_count - 1; j >= 0; j--){ //выводим отраженное слово
  22. res[res_count++] = word[j];
  23. word[j] = '0';
  24. }
  25. word_count = 0; //обнуляем длину слова
  26. if(str[i] != '\0'){ //если не конец строки, то выводим пробел
  27. res[res_count++] = ' ';
  28. }
  29. }
  30. res[res_count] = '\0';
  31. return res;
  32. }
  33.  
  34. int main(){
  35. char* res;
  36.  
  37. res = reverseStr("Жили были дед да бабка");
  38. printf("%s\n", res);
  39. free(res);
  40.  
  41. res = reverseStr("Привет Мир");
  42. printf("%s\n", res);
  43. free(res);
  44.  
  45.  
  46. res = reverseStr("Никита Терещенко");
  47. printf("%s\n", res);
  48. free(res);
  49. return 0;
  50. }
Success #stdin #stdout 0s 5292KB
stdin
Standard input is empty
stdout
�лиЖ� �лЋѱ� �ед� �д� �кбаб�
�ѵвиЀџ� �ѸМ�
�ЂѸкиН� �кнеЉѵЀѵТ�