
Написать программу с использованием классов на С++. Дано натуральное число n (n<10000).
Определить сколько цифр в числе, чему равна сумма его цифр, найти последнюю цифру числа. На СИ++, не на паскаль

Ответы на вопрос

#include <iostream>
#include <math.h>
using namespace std;
class NumHandler
{
int number;
public:
NumHandler(int n): number(n) {}
int getDigitCount()
{
int ret = 1, tested = 1, div;
while (true) {
div = (int) number / tested;
if (div == 0) {
return ret - 1;
}
else {
ret++;
tested *= 10;
}
}
}
int getDigitSum()
{
int ret = 0,
tenMult = pow(10, getDigitCount() - 1),
div;
while (tenMult >= 1) {
div = (int) number % (tenMult * 10) / tenMult;
ret += div;
tenMult /= 10;
}
return ret;
}
int getLastDigit()
{
return number % 10;
}
};
int main()
{
int num;
cout << "n = ";
cin >> num;
NumHandler handler(num);
cout << endl;
cout << "Число цифр: " << handler.getDigitCount() << endl;
cout << "Сумма цифр: " << handler.getDigitSum() << endl;
cout << "Последняя цифра: " << handler.getLastDigit() << endl;
return 0;
}


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili