Строку «Программа» превратить в «ргамамроП» - 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;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками и вводом-выводом.
- Объявление переменных: строки s и s1, а также индексы i, j, k.
- Ввод строки от пользователя с помощью функции gets().
- Инициализация счётчика символов в новой строке s1 значением 0.
- В цикле, начиная со второго символа исходной строки (исключая 1-й символ), копируются парные символы в новую строку s1.
- Если длина исходной строки нечётная, то в новую строку s1 добавляется последний символ исходной строки.
- Если длина исходной строки чётная, то в новую строку s1 добавляется предпоследний символ исходной строки.
- В обратном порядке до тех пор, пока не будут использованы все символы исходной строки, символы копируются в новую строку s1.
- Добавляется нулевой символ в конец новой строки s1.
- Выводится новая строка s1.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д