Содержание
Программирование, Seo, Linux, Скрипты, Программы
Подсчет пробелов, табляций, знаков новой строки в СИ
Хрень какая то, вот опять целый месяц бездельничал. Сегодня опять надумал на си, что нибудь написать. Что то у меня постоянно одно и тоже, опять начал с простых примеров. Вот читаю книгу и опять занова начинаю.
Задача такая, надо подсчитать количество пробелов, знаков табуляции и знаков новой строки. Символы вводятся со стандартного ввода getchar() и выводятся посредством putchar().
int c, probeli,tab,newline;
printf(«Пробелов:%d Новых строк:%d Табуляций: %d», probeli, newline, tab);
Дата публикации: Среда, Май 12th, 2010.
Я хочу подсчитать слова и пробелы в моей строке. Строка выглядит так:
у меня есть что-то вроде этого до сих пор
что я должен сделать, чтобы подсчитать пробелы?
8 ответов
обратите внимание, что оба используют Char.IsWhiteSpace , который предполагает другие символы, чем " " как пробел(как newline ). Посмотрите на раздел Примечания, чтобы увидеть, что именно .
когда вы получаете массив строк, количество элементов — это количество слов, а количество пробелов-это количество слов -1
Это будет учитывать:
- строки, начинающиеся или заканчивающиеся на место.
- двойной/тройной/. пространства.
предполагая, что единственными разделителями слов являются пробелы и что ваша строка не равна null.
Примечание: цикл while также может быть выполнен с регулярным выражением:как заменить несколько пробелов одним пробелом в C#?
Если вы хотите подсчитать пробелы, вы можете использовать LINQ:
У меня есть готовый код для получения списка слов в строке: (методы расширения должны быть в статическом классе)
в дополнение к записи Тима, если у вас есть заполнение с обеих сторон или несколько пробелов рядом друг с другом:
вот метод, использующий регулярное выражение. Просто нужно еще кое-что обдумать. Лучше, если у вас есть длинные строки с большим количеством различных типов пробелов. Подобно WordCount от Microsoft Word.
Нужно посчитать кол-во пробелов в строке. Не могу понять что и как. Застрял на вводе самой строки. Выводится лишь первое слово.
1 ответ 1
Используйте std::getline чтобы прочитать всю строку:
Всё ещё ищете ответ? Посмотрите другие вопросы с метками c++ или задайте свой вопрос.
Похожие
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.12.20.35703