Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Марина08
0 / 0 / 1
Регистрация: 05.12.2013
Сообщений: 32
1

В функции вывести на экран все слова строки длина которых больше длины первого слова

06.01.2014, 16:38. Просмотров 860. Ответов 2
Метки нет (Все метки)

Вывести символьную строку. В функции вывести на экран все слова строки длина которых больше длины первого слова.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2014, 16:38
Ответы с готовыми решениями:

Вывести все слова четной длины, у которых все буквы из первой половины слова встречаются во второй
Задача: Дана последовательность символов, состоящая из слов четной длины. Вывести на экран все...

Вывести те слова строки, длина которых более 7-ми
Вывести те слова строки, длина которых более 7-ми.

Вывести на экран те строки исходного файла, длина которых больше 10 символов
Вывести на экран те строки исходного файла, длина которых больше 10 символов(Тема:Файлы) Заранее...

Вывести на экран те строки исходного файла, длина которых больше 10 символов
Тема: "Файлы" Вывести на экран те строки исходного файла, длина которых больше 10 символов

Вывести на экран те слова из строки, в которых нет повторяющихся букв
Строка, в которой слова разделены пробелами и знаками препинания. Необходимо вывести на экран те...

2
Петррр
6182 / 3483 / 898
Регистрация: 28.10.2010
Сообщений: 5,928
06.01.2014, 21:29 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifdef _MSC_VER
    #define _CRT_SECURE_NO_WARNINGS
#endif
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define STR_HELPER(x) #x
#define STR(x) STR_HELPER(x)
 
#define DELIMITERS  "?!.,; \t\r\n"
 
void func(const char *str)
{
    char *p = NULL;
    size_t first_length = 0;
    char *temp = (char*)malloc(sizeof(char) * (strlen(str) + 1));
    strcpy(temp, str);
    p = strtok(temp, DELIMITERS);
    if (p)
    {
        first_length = strlen(p);
        for (p = strtok(NULL, DELIMITERS); p; p = strtok(NULL, DELIMITERS))
            if (strlen(p) > first_length)
                puts(p);
    }
    free(temp);
}
 
int main(void)
{
    char str[BUFSIZ];
    if (scanf("%" STR(BUFSIZ) "[^\n]%*c", str))
    {
        func(str);
        return EXIT_SUCCESS;
    }
    return EXIT_FAILURE;
}
0
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10537 / 6239 / 1567
Регистрация: 25.07.2009
Сообщений: 11,879
07.01.2014, 00:06 3
Лучший ответ Сообщение было отмечено Марина08 как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <string.h>
 
void func(char * s, const char * delim) {
    static int firstWordsLength;
    
    if ( s ) {
        firstWordsLength = strlen(strtok(s, delim));
    }
    else if ( s = strtok(NULL, delim) ) {
        if ( strlen(s) > firstWordsLength )
            printf("%s\n", s);
    }
    else
        return;
    
    func(NULL, delim);
}
 
#define DELIM " \t\n"
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        func(buf, DELIM);
    
    return 0;
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2014, 00:06

В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с длиной слова
В тексте слова заданной длины заменить указанной подстрокой, длина которой может не совпадать с...

В заданном массиве строк найти все слова, в которых 2 раза встречается символ и вывести эти слова
не могу сообразить как написать цикл, в котором он выделяет слова, и потом выделяет из этих слов...

Вывести на экран все слова, в которых имеется максимальное количество различных букв
Дана последовательность символов, состоящая из слов. Вывести на экран все слова, в которых имеется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru