Напечатать последовательность слов в обратном порядке - C (СИ) (79009)

Узнай цену своей работы

Формулировка задачи:

Очень прошу..помогите с задачкой.. "Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв; между соседними словами – запятая, за последним словом точка.Напечатать эту последовательность слов, но в обратном порядке" (на языке си)

Решение задачи: «Напечатать последовательность слов в обратном порядке»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
#define MAXSIZE 256
 
void revert(char arr[], int N)
{
        char* left = arr;
        char* right = &arr[N - 1];
 
        while(left < right)
        {
                *left ^= *right;
                *right ^= *left;
                *(left++) ^= *(right--);
        }
}
 
int main(void)
{
    char str[256] = "abcd pc wtf";
    revert(str, strlen(str));
    puts(str);
    return 0;
}

Объяснение кода листинга программы

В данном коде на языке C реализована функция revert, которая переворачивает строку, и основная функция main, которая вызывает эту функцию для строки abcd pc wtf.

  1. #include Включает в код функции файла стандартного ввода/вывода, нужные для отправки сообщений в консоль.
  2. #include Включает в код функции работы со строками.
  3. #define MAXSIZE 256 Определяет максимальную длину строки, которую можно обработать.
  4. void revert(char arr[], int N) Функция принимает на вход два аргумента: массив символов и его длину.
  5. *char left = arr;** Выделяют указатели на начало и конец строки.
  6. *char right = &arr[N - 1];**
  7. while(left < right) Организуется цикл, пока левая позиция указателя меньше правой.
  8. left ^= right; Применяется операция побитового исключающего ИЛИ к символам на позициях left и right.
  9. right ^= left;
  10. (left++) ^= (right--); Перемещаются указатели на следующие позиции.
  11. int main(void) Функция main создает и инициализирует строку abcd pc wtf.
  12. revert(str, strlen(str)); Вызывают функцию revert для переворачивания строки.
  13. puts(str); Выводят перевернутую строку в консоль.
  14. return 0; Завершают выполнение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы