Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Areya
2 / 2 / 0
Регистрация: 04.03.2014
Сообщений: 55
1

Написать программу, которая копирует на экран, текст с клавиатуры и размещает каждое слово в новую строку

31.03.2014, 20:38. Просмотров 757. Ответов 6
Метки нет (Все метки)

написать программу, которая копирует на экран, текст с клавиатуры и размещает каждое слово в новую строку. Учесть, что между словами может быть несколько пробелов, в этом случае между словами не должны пропускаться несколько строк.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2014, 20:38
Ответы с готовыми решениями:

Написать программу, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива
Написать программу, которая считывает текст из файла и записывает каждое слово...

Написать программу, которая распечатывает каждое слово предложения, меняя его первую букву на прописную, если необходимо
Словом назовем всякую последовательность букв латинского алфавита длины не...

Написать функцию, которая копирует содержимое строки src в строку dst
Написать функцию вида : void my_strcpy( char* src, char* dst); которая копирует...

Написать программу, которая считывает текст из файла и выводит на экран
Написать программу, которая считывает текст из файла и выводит на экран сначала...

Написать программу, которая принимает от пользователя строку и выводит ее на экран
Написать программу, которая принимает от пользователя строку и выводит ее на...

6
MicM
825 / 484 / 324
Регистрация: 29.12.2009
Сообщений: 1,106
Завершенные тесты: 1
31.03.2014, 21:01 2
Лучший ответ Сообщение было отмечено Areya как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
int main()
{
    char str[80], *p;
    gets(str);
    p = strtok(str," ");
    do
    {
        printf ("%s\n",p);
        p = strtok('\0',",. ");
    }
    while (p);
    return 0;
}
1
Areya
2 / 2 / 0
Регистрация: 04.03.2014
Сообщений: 55
31.03.2014, 23:33  [ТС] 3
спасибо, все работает)
0
Vtulhu
423 / 377 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
01.04.2014, 12:43 4
Первый параметр функции strtok имеет тип char*, а не char. То есть надо делать так:

C
1
strtok(NULL, ",. ");
А работает все нормально, видимо, потому что происходит неявная конвертация '\0' -> 0 -> NULL.
0
Areya
2 / 2 / 0
Регистрация: 04.03.2014
Сообщений: 55
08.04.2014, 01:47  [ТС] 5
что можно использовать вместо strtok?
0
Vtulhu
423 / 377 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
08.04.2014, 10:50 6
Самый простой вариант - искать следующий пробел или не-пробел. Я совсем недавно писал что-то похожее, только для поиска нулей/не-нулей в массиве. http://www.cyberforum.ru/c/thread1134520.html

Можно в книге K&R поискать, там была программа для подсчитывания количества слов с помощью флага "внутри слова" - "снаружи слова". Очевидно, ее можно легко модифицировать, чтобы не считать слова, а печатать их.
0
MicM
825 / 484 / 324
Регистрация: 29.12.2009
Сообщений: 1,106
Завершенные тесты: 1
08.04.2014, 17:31 7
Без strtok() так можно:
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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define N 75
 
int main()
{
    char str[N]="",tmp[N]="";
    int i,j,length;
    gets (str);
    length = strlen(str);
    i = 0;
    while (i<length)
    {
        if (isalpha(str[i]))
        {
            j = 0;
            strncpy (tmp,"",N);
            while (i<length && isalpha(str[i]))
                tmp[j++] = str[i++];
            printf ("%s\n",tmp);
        }
        else ++i;
    }
    return 0;
}
1
08.04.2014, 17:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 17:31

Написать программу, которая считывает текст из файла и выводит его на экран
Написать программу, которая считывает текст из файла и выводит его на экран,...

Написать программу, которая считывает текст из файла и выводит его на экран
Доброго времени суток! Написать программу , которая считывает текст из файла и...

Написать программу, которая копирует содержимое входного файла в выходной
Написать программу, которая копирует содержимое входного файла в выходной;...


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

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

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