Из заданной строки символов удалить слова, длина которых меньше указанной пользователем - 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, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д