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

Нужен код на c++. дано натуральное число n(n< =100) a) сколько цифр в числе n? б) чему равно сумма его чисел? в) найти последнюю цифру г) первую цифру

Показать ответ
Ответ:
365282n
365282n
26.08.2020 06:45
#include <iostream>
using namespace std;
typedef unsigned short int USI;

USI DigitCount(USI n) {
USI a = (int) n / 100,
bc = n % 100,
b = (int) bc / 10,
c = n % 10;
if (a > 0) return 3;
if (b > 0) return 2;
if (c > 0) return 1;
return 0;
}

USI SumDigits(USI n, USI dc) {
USI sum = 0,
a,
bc,
b,
c;
switch (dc) {
case 3:
a = (int) n / 100;
sum += a;
case 2:
bc = n % 100;
b = (int) bc / 10;
sum += b;
case 1:
c = n % 10;
sum += c;
break;
default:
return 0;
break;
}
return sum;
}

USI LastDigit(USI n) {
return n % 10;
}

USI FirstDigit(USI n, USI dc) {
switch (dc) {
case 1:
return n;
break;
case 2:
return (int) n / 10;
break;
case 3:
return (int) n / 100;
break;
default:
return 0;
break;
}
}

int main() {
USI n;
cout << "n = ";
cin >> n;
USI dc = DigitCount(n);
cout << "Число " << n
<< ":\n"
<< "Цифр: "
<< dc << '\n'
<< "Сумма цифр: "
<< SumDigits(n, dc) << '\n'
<< "Последняя цифра: "
<< LastDigit(n) << '\n'
<< "Первая цифра: "
<< FirstDigit(n, dc) << '\n';
return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота