Прочитать слово в символьный массив, а затем напечатать это слово в обратном порядке - 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 для успешного завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д