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

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

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

Поменять местами первую и последнюю букву слова
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
char c[1000], s[1000],sl,sn=" ";
int i;
printf("vvedit ryadok");
gets(s);
for (i=0 ;i<=strlen(s); i++)
{
 
    if (s[i]!=" ")
    sl=sl+s[i];
    else
    if (strlen(sl)>0)
    {
          c=sl[strlen(sl)];
          sn=sn+sl[strlen(sl)]+strncopy(sl,2,strlen(sl)-2)+sl[1]+" ";
          sl="";
    }
printf("s=%s",sn);
 
}
    return 0;
}
помогите исправить

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

textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
 
int main () {
 char *token, buf[81],*separators = "\t,.:!? ";
 puts ("Enter the text");
 gets(buf);
 token = strtok(buf, separators);
 while(token != NULL) {
  int len=strlen(token);
  char c=token[len-1];
  token[len-1]=token[0];
  token[0]=c;
  printf ("%s ",token);
  token = strtok(NULL, separators);
 }
 getchar(); return 0;
}

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

В этом коде:

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

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


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

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

8   голосов , оценка 3.375 из 5
Похожие ответы