Поменять местами первую и последнюю букву слова - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Поменять местами первую и последнюю букву слова
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7. char c[1000], s[1000],sl,sn=" ";
  8. int i;
  9. printf("vvedit ryadok");
  10. gets(s);
  11. for (i=0 ;i<=strlen(s); i++)
  12. {
  13. if (s[i]!=" ")
  14. sl=sl+s[i];
  15. else
  16. if (strlen(sl)>0)
  17. {
  18. c=sl[strlen(sl)];
  19. sn=sn+sl[strlen(sl)]+strncopy(sl,2,strlen(sl)-2)+sl[1]+" ";
  20. sl="";
  21. }
  22. printf("s=%s",sn);
  23. }
  24. return 0;
  25. }
помогите исправить

Решение задачи: «Поменять местами первую и последнюю букву слова»

textual
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. int main () {
  6.  char *token, buf[81],*separators = "\t,.:!? ";
  7.  puts ("Enter the text");
  8.  gets(buf);
  9.  token = strtok(buf, separators);
  10.  while(token != NULL) {
  11.   int len=strlen(token);
  12.   char c=token[len-1];
  13.   token[len-1]=token[0];
  14.   token[0]=c;
  15.   printf ("%s ",token);
  16.   token = strtok(NULL, separators);
  17.  }
  18.  getchar(); return 0;
  19. }

Объяснение кода листинга программы

В этом коде:

  1. Объявляются две строки: buf (буфер) и separators (разделители).
  2. Пользователю предлагается ввести текст.
  3. Введённый текст сохраняется в буфере buf.
  4. Далее, используя функцию strtok, код начинает разбиение строки на токены (слова). Разделителями служат пробел, табуляция, запятая, точка, двоеточие, восклицательный и вопросительный знаки.
  5. В цикле, пока не будет достигнут конец строки (т.е. не будет найден последний токен), код меняет местами первую и последнюю букву каждого токена и выводит его на экран.
  6. После окончания ввода с клавиатуры, код завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы