Прочитать слово в символьный массив, а затем напечатать это слово в обратном порядке - C (СИ)

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

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

Всем добрый вечер.Помогите решить задачу. Напишите программу ,которая читает слово в символьный массив ,а затем печатает это слово в обратном порядке .Воспользуйтесь функцией strlen() для вычисления индекса последнего массива.
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define size 20
  4. int main(int argc, const char * argv[])
  5. {
  6. int i;
  7. char cim[size]; //cimvolni massiv
  8. printf ("Napishite slovo\n");
  9. scanf("%s",cim);
  10. printf("%lu %s %c\n",strlen(cim),cim,cim[2]);
  11. for(i=strlen(cim)-1;i>=0;i--)
  12.  
  13. printf("%c",cim[i]);
  14. printf("\n");
  15. // }
  16. return 0;
  17. }
а как дальше записать символы в обратном порядке в массив?

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define size 20
  5.  
  6. void swap(char * a, char * b)
  7. {
  8.     char tmp = *a;
  9.     *a = *b;
  10.     *b = tmp;
  11. }
  12.  
  13. char * reverse_array(char * start, size_t len)
  14. {
  15.     size_t i;
  16.     for(i = 0; i < len / 2; ++i)
  17.     {
  18.         swap(start + i, start + (len - i - 1));
  19.     }
  20.     return start;
  21. }
  22.  
  23. int main(int argc, const char * argv[])
  24. {
  25.     char cim[size];
  26.     printf("Input word:\n");
  27.     scanf("%19s", cim);
  28.  
  29.     reverse_array(cim, strlen(cim));
  30.  
  31.     printf("reversed word: %s\n", cim);
  32.  
  33.     return 0;
  34. }

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

  1. Подключение необходимых библиотек
    • Включаем стандартную библиотеку ввода-вывода (stdio.h) для использования функций отладки и вывода на экран
    • Включаем библиотеку для работы со строками (string.h) для использования функции strlen
  2. Определение константы размера массива
    • Задаем константу size, ограничивающую количество элементов в массиве
  3. Создание функции swap для обмена значениями двух указателей
    • Создаем временную переменную tmp для хранения значения первого указателя
    • Меняем значение первого указателя на значение второго указателя
    • Меняем значение второго указателя на значение временной переменной tmp
  4. Создание функции reverse_array для переворота массива
    • Создаем цикл for для итерации по половине массива
    • Внутри цикла вызываем функцию swap для обмена значениями двух указателей
  5. Создание функции main для начала работы программы
    • Задаем размер массива cim равным константе size
    • Выводим приглашение для ввода слова
    • Считываем введенное слово в массив cim с помощью функции scanf
    • Вызываем функцию reverse_array для переворота массива cim
    • Выводим перевернутое слово на экран с помощью функции printf
  6. Завершение программы
    • Возвращаем 0 из функции main для успешного завершения программы

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


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

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

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы