Вычеркнуть i-ю букву слова, вывести полученное слово - C (СИ)
Формулировка задачи:
Дано слово. Вычеркнуть i-ю букву слова, вывести полученное слово.
Решение задачи: «Вычеркнуть i-ю букву слова, вывести полученное слово»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main(void) { char word[40], *ptr; int n; printf("word: "); scanf("%s", word); printf("number: "); scanf("%i", &n); if (n < strlen(word)) { memcpy(word+n-1, ptr = word+n, strlen(ptr)); puts(word); } return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
word
типаchar
иn
типаint
. - Переменная
word
инициализируется как массив символов, способный хранить 40 символов. - Переменная
n
инициализируется как 0. - Выводится сообщение
word:
и пользователю предлагается ввести строку. - С помощью функции
scanf
введенная строка сохраняется в переменнойword
. - Выводится сообщение
number:
и пользователю предлагается ввести число. - Введенное число сохраняется в переменной
n
. - Проверяется, что введенное число меньше длины строки в переменной
word
. - Если условие выполняется, то с помощью функции
memcpy
изменяется содержимое строкиword
. - Получаем указатель на символ, который должен быть заменен, и копируем все символы после него в новое место.
- Удаляем символ, который должен быть заменен.
- Выводим измененную строку.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д