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

0 голосов
137 просмотров

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


Информатика (15 баллов) | 137 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include
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 = ";<br> cin >> n;
USI dc = DigitCount(n);
cout << "Число " << n<br> << ":\n"<br> << "Цифр: "<br> << dc << '\n'<br> << "Сумма цифр: "<br> << SumDigits(n, dc) << '\n'<br> << "Последняя цифра: "<br> << LastDigit(n) << '\n'<br> << "Первая цифра: "<br> << FirstDigit(n, dc) << '\n';<br> return 0;
}

(7.2k баллов)
0

Какой длинный код. #include
using namespace std;

int main() {
int n,k=0,s=0,last,first;
cout<<"number: "; cin>>n;
last=n%10;
while(n>0) {
first=n%10;
s+=first;
n/=10;
k++;
}
cout<<"number of digits: "<<k<<endl;<br> cout<<"first digit: "<<first<<endl;<br> cout<<"last digit: "<<last<<endl;<br> cout<<"sum of digits: "<<s<<endl;<br>
system("pause");
return(0);
}