Переписать строку в обратном порядке - C (СИ) (77928)

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

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

Дана задача "

Введите с клавиатуры строку символов, после чего запишите ее содержимое в другую строку в обратном порядке. Далее выведите вторую строку на экран."

Моё решение. Реализовать надо на языке СИ (не СИ++)
Листинг программы
  1. #include <stdio.h>
  2. void main()
  3. {
  4. char *uk1,*uk2;
  5. puts("Vvedite slovo");
  6. scanf(uk2);
  7. uk1=uk2;
  8. while(*uk2!='\0')
  9. putchar(*uk2++);
  10. putchar('\n');
  11. while(--uk2 >= uk1)
  12. putchar(*uk2);
  13. putchar('\n');
  14. }
Пожалуйста, исправьте код! Очень срочно!

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. int main(void)
  6. {
  7.         char buf[BUFSIZ];
  8.         char str[BUFSIZ];
  9.         int i;
  10.         int j;
  11.  
  12.         fgets (buf, BUFSIZ, stdin);
  13.  
  14.         for (i = strlen (buf) - 1, j = 0 ; i >= 0 ; --i, ++j )
  15.                 str[j] = buf[i];
  16.  
  17.         str[j] = '\0';
  18.        
  19.         printf (" %s \n " str);
  20.  
  21.         system ("pause");
  22.         return 0;
  23. }

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

  1. Подключение необходимых библиотек для работы со строками и вводом-выводом
  2. Объявление переменных:
    • buf[BUFSIZ] - массив для чтения строки из стандартного ввода
    • str[BUFSIZ] - массив для хранения перевернутой строки
    • i, j - индексы для перемещения по массивам
  3. Чтение строки с помощью функции fgets в массив buf
  4. Переменная i инициализируется значением длины строки, а переменная j - нулем. Цикл выполняется до тех пор, пока i больше или равно нулю.
    • При каждой итерации значение i уменьшается на единицу, а значение j увеличивается на единицу.
    • Значение buf[i] копируется в str[j]
  5. Последний символ в массиве str обнуляется для корректного завершения строки
  6. Вывод перевернутой строки с помощью функции printf
  7. Ожидание нажатия клавиши с помощью функции system(pause)
  8. Возврат 0 для завершения программы

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


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

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

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

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

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

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