Въпроси от колеги

Общност за взаимопомощ - попитайте и помогнете на колегите от Вашата област.

Програмиране и програмни езици Информатика
МТМариян Топалов
Мариян Топалов
Пловдивски университет "Паисий Хилендарски" · 15.02.2016 · 2472 прегледа

Алгоритъм за броя на цифри в число

Може ли някой да ми даде алгоритъм(на C++) за броене на цифрите в дадено число?
Пример: 19235 има 5 цифри(1, 9, 2, 3, 5).

3 отговора

Най-добър отговор · с най-много благодарности
2
МК
Мартин Кръстев
Русенски Университет - Ангел Кънчев · 15.02.2016
#include
using namespace std;
#include
void main() {
system("chcp 1251"); // кирилизиране
system("cls"); // чистене на конзолата от досадното съобщение
int n, i, count=0; // n - число, count - брой цифри
cout > n;
while (n != 0) {
int b = n % 10; // b държи последната цифра на число
count++; // увеличаваме броя на цифрите, като при първото изпълнение, то е 0
n /= 10; // махаме последната цифра на числото; n = n/10 е същото
}
cout
2
2
ТА
Тодор Атанасов
Свободен Университет "Черноризец Храбър" · 15.02.2016
int digits = 0;
do { number /= 10; digits++; }
while (number != 0);
2
1
АДАдриан Димитров
Адриан Димитров
Русенски Университет - Ангел Кънчев · 15.02.2016
Колега това намерих набързо в учебника:

Делението с частно и остатък може да се използва за намиране на броя на цифрите на
дадено естествено число n. Алгоритъмът е следният: Последователно делим (докато е възможно)
целочислено n на 10. Очевидно, при всяко такова деление цифрите на n намаляват с една. Така,
броят на цифрите на n се определя от броя на деленията, които извършваме, докато n стане равно на нула:

#include
unsigned n = 4242;
int main(void) {
unsigned digits;
for (digits = 0; n > 0; n /= 10, digits++);
printf("Броят на цифрите на %u е %un", n, digits);
return 0;
}

Дано е полезно!
1

За да отговорите, трябва да сте влезли в профила си.

Влезте