- 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;
к = НОЛЬ;
}
}
вернуть ч;
}
я хочу сделать программу
Я ввожу текст с клавиатуры в консоль и хочу, чтобы программа поменяла местами первую и последнюю букву каждого слова и подсчитала, сколько слов в предложении.
Нашёл в интернете программу, которая меняет местами буквы и немного её переделал
как я могу это исправить?
Я сделал это, но он считает только слова
#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;
к = НОЛЬ;
}
}
вернуть ч;
}