Если длина строки S больше N, то отбросить первые символы - C (СИ) (74536)
Формулировка задачи:
Дано целое число N (> 0) и строка S. Преобразовать строку S в строку длины N следующим
образом: если длина строки S больше N, то отбросить первые символы, если длина строки S
меньше N, то в ее начало добавить символы «.» (точка). Язык Си
Решение задачи: «Если длина строки S больше N, то отбросить первые символы»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> char* Convert(char* str, int newlen) { int len = strlen(str); int offs = abs(len - newlen); if (newlen < len) { memmove(str, str + offs, newlen + 1); } else if (len < newlen) { memmove(str + offs, str, len + 1); memset(str, '.', offs); } return str; } int main() { char text[64] = "Hello World"; printf("%s\n", Convert(text, 5)); printf("%s\n", Convert(text, 10)); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: iostream, string, cstring.
- Создание функции Convert, которая принимает два аргумента: строку str и новое значение длины newlen.
- Вычисление разницы между текущей длиной строки и новой длиной newlen.
- Проверка условия: если новая длина меньше текущей, то перемещение символов в начало строки.
- Проверка условия: если текущая длина меньше новой длины, то перемещение символов в начало строки и добавление символа точки в начало строки.
- Возврат измененной строки.
- Создание строки text и присваивание ей значения
Hello World
. - Вызов функции Convert и передача ей строки text и новое значение длины 5.
- Вывод результата на экран.
- Вызов функции Convert и передача ей строки text и новое значение длины 10.
- Завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д