Из заданной строки символов удалить слова, длина которых меньше указанной пользователем - C (СИ)
Формулировка задачи:
Из заданной строки символов удалить слова, длина которых меньше указанной пользователем
Помогите написать цикл
int n, i=1, j=0, k=0; char str [80]; puts("Input string:"); gets(str); puts(str); puts(""); cout<<"dlina="; cin>>n; k=strlen (str); printf("\nLength of string %d \n",k); while (i<k) { if (str[i]!= ' ' ) {i++; j++;} else { if (j<n) { for(int b=i-j; b<k-j; b++) str[b]=str[b+1]; str[k-j+1]='\0'; k=strlen(str); j=0; } else {i++; j=0;} } } puts(str); puts(""); system("pause"); return 0; }
Решение задачи: «Из заданной строки символов удалить слова, длина которых меньше указанной пользователем»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main() { int n, i; char str [80]; char rez[80]={'\0'}; char *tmp; puts("Input string:"); gets(str); puts(str); puts(""); puts("dlina="); scanf("%d",&n); printf("\nLength of string %d \n",strlen (str)); tmp = strtok(str, " "); for (i = 0; tmp != '\0'; i++) { if(strlen(tmp)>n) { strcat(rez, tmp); strcat(rez," "); } tmp = strtok(NULL, " "); } puts(rez); puts(""); return 0; }
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Ввод строки с помощью функции gets().
- Вывод введённой строки с помощью функции puts().
- Ввод длины слова, которое необходимо удалить с помощью функции scanf().
- Вывод длины введённой строки с помощью функции printf().
- Выделение первого слова в строке с помощью функции strtok().
- Итерация по всем словам в строке с помощью цикла for и функции strtok().
- Проверка длины текущего слова с помощью условия if.
- Если длина слова больше или равна указанной пользователем длине, то добавление этого слова в результирующую строку с помощью функции strcat().
- Добавление пробела после каждого слова в результирующую строку.
- Вывод результирующей строки с помощью функции puts().
- Возврат 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д