Найти длину самого короткого слова в строке (С++ -> Си) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание: Работа со строками. Найти длину самого короткого слова
#include <string>
#include <iostream>
#include <sstream>
using namespace std;
int main(void)
{
    string text="qwe asdf zxcvb qw zxcvasdf weqr";
    int size=10;
    istringstream iss(text);
    while(iss)
    {
        string temp;
        iss >> temp;
        if(size>temp.size() && temp.size()!=0) size=temp.size();
    }
    cout<<"самое короткое слово: "<<size<<" букв";
}

Решение задачи: «Найти длину самого короткого слова в строке (С++ -> Си)»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define DELIM " ,.-!?"
 
int main(void)
{
    char str[] = "Eniki beniki eli vareniki", *p = strtok(str, DELIM);
    unsigned int minLen = strlen(p);
    while ((p = strtok(NULL, DELIM)))
        if (strlen(p) < minLen)
            minLen = strlen(p);
 
    printf("Smallest word has %u chars\n", minLen);
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: iostream.h и string.h
  2. Объявление строки, на которой будет происходить поиск самого короткого слова
  3. Использование функции strtok для разделения строки на слова и получения первого слова
  4. Инициализация переменной minLen значением длины первого слова
  5. Использование цикла while для проверки всех оставшихся слов
  6. Сравнение длины текущего слова с minLen
  7. Обновление значения minLen, если текущее слово короче
  8. Вывод результата - длины самого короткого слова
  9. Завершение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы