Сформировать строку, содержащую символы заданной строки в обратном порядке, причем каждый четвертый символ - выкинуть - C (СИ)
Формулировка задачи:
Дана строка. Сформировать строку, содержащую символы данной в обратном порядке, причем каждый четвертый символ (считая с конца данной строки) выкинуть.
Решение задачи: «Сформировать строку, содержащую символы заданной строки в обратном порядке, причем каждый четвертый символ - выкинуть»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
char *strReverse(char *s)
{
char *head, *tail, c;
if ( !s || !(*s) )
return NULL;
for ( head = s, tail = s + strlen(s) - 1;
head < tail; head++, tail-- )
{
c = *head;
*head = *tail;
*tail = c;
}
return s;
}
int main()
{
char str[] = "Programmirovanie";
printf("Vvedennaya stroka: %s\n", str);
printf("Stroka v obratnom : %s\n", strReverse(str));
return 0;
}
Объяснение кода листинга программы
- В функции main() объявлена строка str[] со значением
Programmirovanie. - Выводится введённая строка.
- В функции strReverse() происходит перестановка символов в строке, при этом каждый четвёртый символ удаляется.
- В функции main() выводится строка, полученная в результате перестановки символов.