Так что .. Прошу прощения, я сделал двойной постер. Я действительно не знал, как работает этот сайт. Тем не менее, я меняю весь свой вопрос, чтобы это было более понятно. И вот оно:Как отменить все слова в строке? C++
char s[1002];
cin.getline(s, 1002, '\n');
int k;
int p = strlen(s);
strcat(s, " ");
for (int i = 0; i <= p; i++)
{
if (s[i] == ' ')
{
for (k = i - 1; (k != -1) && (s[k] != ' '); k--)
cout << s[k];
cout << " ";
}
}
'', ',', '.' а также ';' должны быть разделителями, но мне удалось заставить его работать только с '' (интервалами).
Я не могу использовать std::string
, поскольку я делаю это для домашней работы, где мне нужно сделать очень специфическую функцию - char const* reverseWordsOnly(const char*)
.
Что должен делать код?
Input: Reversing the letters, is; really hard.
Output: gnisreveR eht srettel, si; yllaer drah.
Почему вы не используете 'зЬй :: string' для этого? – olevegard
Потому что в школе они учат нас только тому, что я написал. Я узнал о std :: string только сегодня, и я недостаточно уверен, чтобы использовать его. – user3213110
Кроме того, 'i = 0' и' k = i - 1'? И для чего нужен 'strcat'? Вам придется сканировать всю строку для «слов», т. Е. Для последовательностей букв. Если вы определили слова, верните их. –