Домашние задания: Информатика

Как решить задачу через for?

Как решить задачу через for?

Пользователь вводит трехзначное число. Твоя программа должна сложить цифры, из которых состоит это число. Например, если было введено 349, программа должна вывести на экран число 16, так как 3 + 4 + 9 = 16.
Смотря какой язык программирования
СН
Сергей Никитенко
1 584
Лучший ответ
Можно отделить последнюю цифру целого числа, если поделить его на 10 с остатком.

Например, на C++ или Java:

int a = 349;
int digit = a % 10;
a = a / 10;
//Теперь a = 34, digit = 9
digit = a % 10;
a = a / 10;
//Теперь a = 3, digit = 4
digit = a % 10;
a = a / 10;
//Теперь a = 0, digit = 3

Можно проделать это в цикле for три раза, получить все цифры и приплюсовать их к переменной для суммы цифр. Тогда сумма будет равна 9 + 4 + 3.

int sum = 0;
for (int i = 0; i < 3; i++) {
int digit = a % 10;
sum = sum + digit;
a = a / 10;
}
System.out.println(sum);

В Паскале вместо знака процента % используется ключевое слово mod.
Ну и вообще синтаксис языка другой.
D*
Danechka* *
94 603
Аленчик *** решить надо через for
Free Pascal:

var i, n, s: integer; begin write('n: ');
readln(n); n := abs(n); for i := 1 to 3 do
begin s := s + n mod 10; n := n div 10 end;
writeln(s) end.

P.S. Оператор n:=abs(n); тут нужен затем, что, например, число -124 тоже трёхзначное, и если не будет abs можно получить отрицательную сумму цифр.
Тетяна Міщук
Тетяна Міщук
66 572
Python

result = 0
for x in input("n: "): result += int(x)
print(result)
Rusa Mikhanashvili
Rusa Mikhanashvili
34 940
для с#:
string num = Console.ReadLine();
int sum = 0;
foreach (char it in num)
{
sum += int.Parse(it.ToString());
}

решение через while:

int num = int.Parse(Console.ReadLine());
int sum = 0;
while (num > 0)
{
sum += num % 10;
num /= 10;
}
M;
Mаks ;)
8 924