Прочитать слово в символьный массив, а затем напечатать это слово в обратном порядке - C (СИ)
Формулировка задачи:
Всем добрый вечер.Помогите решить задачу. Напишите программу ,которая читает слово в символьный массив ,а затем печатает это слово в обратном порядке .Воспользуйтесь функцией strlen() для вычисления индекса последнего массива.
а как дальше записать символы в обратном порядке в массив?
Листинг программы
- #include <stdio.h>
- #include <string.h>
- #define size 20
- int main(int argc, const char * argv[])
- {
- int i;
- char cim[size]; //cimvolni massiv
- printf ("Napishite slovo\n");
- scanf("%s",cim);
- printf("%lu %s %c\n",strlen(cim),cim,cim[2]);
- for(i=strlen(cim)-1;i>=0;i--)
- printf("%c",cim[i]);
- printf("\n");
- // }
- return 0;
- }
Решение задачи: «Прочитать слово в символьный массив, а затем напечатать это слово в обратном порядке»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- #define size 20
- void swap(char * a, char * b)
- {
- char tmp = *a;
- *a = *b;
- *b = tmp;
- }
- char * reverse_array(char * start, size_t len)
- {
- size_t i;
- for(i = 0; i < len / 2; ++i)
- {
- swap(start + i, start + (len - i - 1));
- }
- return start;
- }
- int main(int argc, const char * argv[])
- {
- char cim[size];
- printf("Input word:\n");
- scanf("%19s", cim);
- reverse_array(cim, strlen(cim));
- printf("reversed word: %s\n", cim);
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Включаем стандартную библиотеку ввода-вывода (stdio.h) для использования функций отладки и вывода на экран
- Включаем библиотеку для работы со строками (string.h) для использования функции strlen
- Определение константы размера массива
- Задаем константу size, ограничивающую количество элементов в массиве
- Создание функции swap для обмена значениями двух указателей
- Создаем временную переменную tmp для хранения значения первого указателя
- Меняем значение первого указателя на значение второго указателя
- Меняем значение второго указателя на значение временной переменной tmp
- Создание функции reverse_array для переворота массива
- Создаем цикл for для итерации по половине массива
- Внутри цикла вызываем функцию swap для обмена значениями двух указателей
- Создание функции main для начала работы программы
- Задаем размер массива cim равным константе size
- Выводим приглашение для ввода слова
- Считываем введенное слово в массив cim с помощью функции scanf
- Вызываем функцию reverse_array для переворота массива cim
- Выводим перевернутое слово на экран с помощью функции printf
- Завершение программы
- Возвращаем 0 из функции main для успешного завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д