Простые операции с числами - некорректный результат - C#
Формулировка задачи:
Помогите разобраться, почему неправильно считает
using System;
class Mikami
{
static void Main()
{
int y, k, b, proizv, sum;
string x = Console.ReadLine();
y = Convert.ToInt32(x);
k = 1;
b = 0;
sum = 0;
proizv = 1;
do
{
y = y % 10;
sum += y;
proizv *= y;
if (y % 10 == 1) { ++b; };
++k;
} while (y % 10 == 0);
Console.WriteLine("Число десятков: " + k);
Console.WriteLine("Число единиц: " + b);
Console.WriteLine("Сумма: " + sum);
Console.WriteLine("Произведение: " + b);
Console.Read();
}
}Решение задачи: «Простые операции с числами - некорректный результат»
textual
Листинг программы
using System;
class Mikami
{
static void Main()
{
int y, k=0, b=0, proizv=1, sum=0;
y = Convert.ToInt32(Console.ReadLine());
do
{
sum +=y % 10;
proizv *=y % 10;
if (y %10==1) {++b;};
++k;
y = y / 10;
} while (y != 0);
Console.WriteLine("Число десятков: " + k);
Console.WriteLine("Число единиц: " + b);
Console.WriteLine("Сумма: " + sum);
Console.WriteLine("Произведение: " + proizv);
Console.Read();
}
}