Количество и сумма цифр числа на C++
Примеры:
123 — 3 цифры.
45677 — 5 цифр.
Подход к решению такой:
1. если число отрицательное — то меняем знак;
2. заводим счетчик, изначально равный нулю;
3. делим число на 10 без остатка, например при делении 123 на 10 получится 12. Таким образом, мы «отбросили» младший разряд (цифру);
4. увеличиваем счетчик (ведь одну цифру отбросили);
5. если число больше нуля — переходим на п. 2.
6. счетчик содержит результат работы программы.
Исходный код программы:
Вычисление суммы цифр числа можно сделать так:
1) Преобразовать число в строку (различными способами) и найти сумму символов в ней;
2) Использовать операцию получения остатка от деления деления на 10 (вернет младший разряд числа) и целочисленного деления на 10 (эквивалентна сдвигу числа вправо) — такой подход уже использовался выше при вычислении количества цифр.
Количество чисел в строке
Написать программу на c++ в с стиле с++ (не си) программу которая подсчитывает количество и цифры, и числа в строке. Я только знаю как подсчитывать цифры в строке, как написать что бы виделись так же и целочисленный числа?
И проверил эти три реализации по скорострельности. Visual Studio 2017 Community.
Если компилить без оптимизации, самый бытрый — последний вариант, самый медленный — хардкорный.
Если компилить с оптимизацией, самый быстрый — последний вариант, самый медленный — первый.
Т.е. если запилить ручками, то все-таки быстрее получается, чем с использованием алгоритмов из STL.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Visual Studio 2010 — Как посчитать количество целых чисел в C ++?
Моя задача — написать программу, которая подсчитывает, сколько цифр содержит число. Вы можете предположить, что номер имеет не более шести цифр.
Как я могу поставить условие, что максимум 6 цифр, и почему «а» выводится как 0?
Решение
Другие решения
Вы запускаете цикл до a==0 поэтому, конечно, это будет 0 после цикла.
Возьми копию a и либо измените копию, либо распечатайте копию. Не ждите, чтобы изменить a и тогда еще иметь первоначальное значение.
Вам не нужно условие, что оно имеет максимум 6 цифр. Тебе сказали может предположить не более 6 цифр. Это не означает, что вы не можете написать решение, которое работает более чем на 6, или что вы должны ввести не более 6 цифр.