Язык Си. работа с текстом

  • Автор темы Sergiorace
  • Обновлено
  • 18, May 2024
  • #1
здравствуйте, я только недавно начал изучать язык C. Пожалуйста, не ругайтесь на меня))

я хочу сделать программу

Я ввожу текст с клавиатуры в консоль и хочу, чтобы программа поменяла местами первую и последнюю букву каждого слова и подсчитала, сколько слов в предложении.

Нашёл в интернете программу, которая меняет местами буквы и немного её переделал

как я могу это исправить?

Я сделал это, но он считает только слова

#include #include #include <строка.h> char * swap(const char * str); int main (недействительный) { символ с[200]; int count = 0, я; printf("Введите строку:\n"); scanf("%[^\n]s", s); для (я = 0;с != '\0';я++)

{
если (с == ' ' & & s[i+1] != ' ')
считать++;
}
printf("слов: %d\n", count + 1);
}

символ * своп(символ * с)
{
const size_t length = strlen(s);
char * ch = malloc(длина + 1);

strncat (ч, с, длина);
ч[длина] = '\0';

символ * k = ч;

пока (к != NULL)
{
char * последний = strchr(k, ' ');

если (последний! = NULL)
{
символ т = *к;
*k = *(последний - 1);
*(последний - 1) = т;
к = последний + 1;
}
еще
{
символ т = *(к);
*k = *(ch + длина - 1);
*(ch + длина - 1) = t;
к = НОЛЬ;
}
}

вернуть ч;
}

Sergiorace


Рег
29 Sep, 2011

Тем
66

Постов
203

Баллов
593
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно