Вывести те слова которые есть одним ис слов 'a', 'ab', 'abc' - C (СИ)

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

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

Дано массив слов , в каждному слове от 1 до 8 малых латинских букв.вывести те слова которые есть одним ис слов 'a','ab','abc'. Вот код.Пишет что strstr перегруженная
#include "stdafx.h"
 #include "string.h"

 void main()
 {char s[255]="dsa absdr ";
 char s2[255]; memset(s2,0,255);
 for(char *c=strtok(s," ");c;c=strtok(0," ")){
 if(strlen(c)>strlen(s2)){
 strcpy(s2,c);
 printf ("vuvod stroki=%s\n",s2);
 }
 }
 
 {if (strstr(s2,'a') || strstr(s2,'ab') || strstr(s2,'abc'))
 printf ("vuvod stroki=%s\n",s2);
 
 }
 
 }

Решение задачи: «Вывести те слова которые есть одним ис слов 'a', 'ab', 'abc'»

textual
Листинг программы
#include <stdlib.h>
#include<stdio.h>
#include<conio.h>
#include <string.h>
void main()
{
    char s[255]="dsa absdr ";
    char s2[255]; 
    memset(s2,0,255);
    for(char *c=strtok(s," ");c;c=strtok(0," "))
    {
        if(strlen(c)>strlen(s2))
        {
            strcpy(s2,c);
            printf ("\nword %s",s2);
            if (strstr(s2,"a"))
                printf (" contain a",s2);
            if (strstr(s2,"ab"))
                printf (" contain ab",s2);
            if (strstr(s2,"abc"))
               printf (" contain abc",s2);
        }
    }
    getch();
}

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

Вывод программы представляет собой список слов, содержащих в себе букву 'a', 'ab' или 'abc'.

  1. Входные данные: строка dsa absdr
  2. Выполняется цикл по каждому слову в строке, используя функцию strtok для разделения строки на слова.
  3. Если длина текущего слова больше длины строки, в которую будет копироваться слово, то выполняется: a. Копирование текущего слова в строку s2. b. Вывод текущего слова на экран. c. Проверка наличия буквы 'a' в слове s2 с помощью функции strstr. Если буква 'a' найдена, то выводится сообщение contain a. d. Проверка наличия букв 'ab' в слове s2 с помощью функции strstr. Если буквы 'ab' найдены, то выводится сообщение contain ab. e. Проверка наличия букв 'abc' в слове s2 с помощью функции strstr. Если буквы 'abc' найдены, то выводится сообщение contain abc.
  4. После выполнения цикла программа завершается.

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

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