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

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

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

Дана строка -предложение. Зашифровать ее, поместив вначале все символы, расположенные на четных позициях строки, а затем, в обратном порядке, все символы, расположенные на нечетных позициях (например, строка «Программа» превратится в «ргамамроП»). Подскажите что не так в коде.
#include <stdio.h>
#include <string.h>
 
int main(){
char s[100];
char s1[100];
    int i,j=0;
    printf("Enter string: ");
    gets(s);
 
    for ( i=0; i<strlen(s);i++){
     if (i%2==0) strcpy(s1,s);
    }
 
for ( i=strlen(s); i>0;i--){
     if ((i%2)!=0) strcpy(s1,s);
    }

    printf("%s\n",s1); 
return 0;
}

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

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main(){
char s[100];
char s1[100];
int i,j,k;
printf("Enter string: ");
gets(s);
j = 0;
    for ( i=1; i<strlen(s);i = i+2) 
    {
        s1[j] = s[i];
        
        j++;
    }
 
    if (strlen(s)%2 != 0)
    {
        i = strlen(s)-1;
    }
    else
    i = strlen(s)-2;
 
 
    for ( i; i>=0;i= i-2 )  
    {
        s1[j] = s[i];
        j++;
    }
    s1[strlen(s)]='\0';
 
 
printf("%s\n",s1); 
return 0;
}

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

  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
Похожие ответы