Строку «Программа» превратить в «ргамамроП» - C (СИ)

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

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

Дана строка -предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных позициях строки, а затем, в обратном порядке, все символы, расположенные на нечетных позициях (например, строка «Программа» превратится в «ргамамроП»). Подскажите что не так в коде.
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(){
  4. char s[100];
  5. char s1[100];
  6. int i,j=0;
  7. printf("Enter string: ");
  8. gets(s);
  9. for ( i=0; i<strlen(s);i++){
  10. if (i%2==0) strcpy(s1,s);
  11. }
  12. for ( i=strlen(s); i>0;i--){
  13. if ((i%2)!=0) strcpy(s1,s);
  14. }
  15.  
  16. printf("%s\n",s1);
  17. return 0;
  18. }

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5. char s[100];
  6. char s1[100];
  7. int i,j,k;
  8. printf("Enter string: ");
  9. gets(s);
  10. j = 0;
  11.     for ( i=1; i<strlen(s);i = i+2)
  12.     {
  13.         s1[j] = s[i];
  14.        
  15.         j++;
  16.     }
  17.  
  18.     if (strlen(s)%2 != 0)
  19.     {
  20.         i = strlen(s)-1;
  21.     }
  22.     else
  23.     i = strlen(s)-2;
  24.  
  25.  
  26.     for ( i; i>=0;i= i-2 ) 
  27.     {
  28.         s1[j] = s[i];
  29.         j++;
  30.     }
  31.     s1[strlen(s)]='\0';
  32.  
  33.  
  34. printf("%s\n",s1);
  35. return 0;
  36. }

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

  1. Подключение необходимых библиотек для работы со строками и вводом-выводом.
  2. Объявление переменных: строки s и s1, а также индексы i, j, k.
  3. Ввод строки от пользователя с помощью функции gets().
  4. Инициализация счётчика символов в новой строке s1 значением 0.
  5. В цикле, начиная со второго символа исходной строки (исключая 1-й символ), копируются парные символы в новую строку s1.
  6. Если длина исходной строки нечётная, то в новую строку s1 добавляется последний символ исходной строки.
  7. Если длина исходной строки чётная, то в новую строку s1 добавляется предпоследний символ исходной строки.
  8. В обратном порядке до тех пор, пока не будут использованы все символы исходной строки, символы копируются в новую строку s1.
  9. Добавляется нулевой символ в конец новой строки s1.
  10. Выводится новая строка s1.
  11. Программа завершается.

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


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

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

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

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

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

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