Поменять местами первую и последнюю букву слова - 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; }
Объяснение кода листинга программы
В этом коде:
- Объявляются две строки:
buf
(буфер) иseparators
(разделители). - Пользователю предлагается ввести текст.
- Введённый текст сохраняется в буфере
buf
. - Далее, используя функцию
strtok
, код начинает разбиение строки на токены (слова). Разделителями служат пробел, табуляция, запятая, точка, двоеточие, восклицательный и вопросительный знаки. - В цикле, пока не будет достигнут конец строки (т.е. не будет найден последний токен), код меняет местами первую и последнюю букву каждого токена и выводит его на экран.
- После окончания ввода с клавиатуры, код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д