KaranKumar P Ответов: 4

Удалить первый и последний до конца


Учитывая строку S, выведите строку S, удаляя первый и последний символ, пока не останется ни одного символа.

граничное условие :
1 <= длина строки S <= 1000

входной формат:
Первая строка содержит S

Пример Ввода/Вывода 1:
Ввод:
вода

Выход :
вода
съел
т


Пример Ввода/Вывода 2:
Ввод:
клавиатура

Выход :
клавиатура
Эйбар
yboa
бо

Что я уже пробовал:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i=0;
    char s[1000],temp[1000];
    scanf("%s",s);
    while(s[i+2]!='\0')
    {
        temp[i]=s[i+1];
        i++;
    }
    temp[i]='\0';
    printf("%s\n",temp);
    return 0;
}

W∴ Balboos, GHB

Ваша домашняя работа - это значит, что вы должны ее делать.

Решать проблемы самостоятельно-вот в чем весь смысл, по крайней мере для тех, кто действительно хочет учиться.

4 Ответов

Рейтинг:
2

OriginalGriff

Это ваша домашняя работа, так что это часть вашей задачи, чтобы заставить его работать должным образом - это процесс, называемый "отладкой", и это навык, который становится только лучше с использованием.

Я понятия не имею, какую систему вы используете, но у вас почти наверняка есть доступный отладчик, который позволит вам запускать свой код и смотреть на то, что происходит одновременно. Google "debugger" и название вашей IDE, и вы должны найти инструкции.

Но я дам вам подсказку: сколько раз вы смотрите на исходную строку? Рассматривали ли вы вложенные циклы?


W∴ Balboos, GHB

Очевидный кандидат на рекурсию - но у них и так хватает проблем.

Рейтинг:
2

KarstenK

Совет 1: Изучите Программирование с помощью отладчика и сделайте некоторые консольные выходные данные.

Совет 2: Вы можете использовать эту функцию strncpy чтобы скопировать нужное количество символов.

Совет 3:

char *p = (s + 1);


Рейтинг:
1

Member 13946429

#включить <stdio.h>
#include <stdlib.h>
пустота главная()
{
char a[100];
int n,m,i,j;
scanf("%s",a);
n=strlen(a);
m=n;
для(i=0;i<n;i++)
{
если(m>2)
{
для(J В=Я+1;Дж&ЛТ;П-1-Я;J++в)
{
printf("%c",a[j]);
}
printf("\n");
m=m-2;
}
}
}


Patrice T

Почти 6 месяцев и ваш код не подходит под вопрос !

Рейтинг:
0

CPallini

Вам нужно немного больше выбора (для 0-завершенная строка 1000 персонажи, которые вам нужны 1001 из них).
Тогда вам нужна длина строки, скажем len.
В конце концов установили start = 0 и сделайте петлю пока (len >=1) , на каждой итерации

  • выход len персонажи, начиная с start.
  • прирост start.
  • уменьшение в два раза len


Maciej Los

5ed!

CPallini

Спасибо!