Посчитать количество парных и нечетных чисел, количество положительных и отрицательных
Пользователь с клавиатуры вводит целые числа (числа вводятся поочередно, пользователь вводя число нажимает «Enter»). Последовательность чисел завершается введением значение «0». Посчитать количество парных и нечетных чисел, количество положительных и отрицательных. C#
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.Unicode;
Console.InputEncoding = Encoding.Unicode;
int n, even, odd;
even = 0; // чет
odd = 0; // нечет
Console.WriteLine("Введіть числa: ");
n = Convert.ToInt32(Console.ReadLine());
while (n > 0)
{
if (n % 2 == 0) even += 1;
else odd += 1;
n = n / 10;
}
Console.WriteLine("Додатніх чисел {0}", even);
Console.WriteLine("Від'ємних чисел {0}", odd);
}
Ответы (2 шт):
Автор решения: Сергей Татевосян
→ Ссылка
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.Unicode;
Console.InputEncoding = Encoding.Unicode;
int inputNumber = int.MinValue;
List<int> listInputedNumber = new List<int>();
while (inputNumber != 0)
{
Console.WriteLine("Введіть числa. Для завершения введите \"0\": ");
if (!Int32.TryParse(Console.ReadLine(), out inputNumber))
{
Console.WriteLine("Не удалось считать информацию. Введите целое число.");
inputNumber = int.MinValue;
}
else
{
if (inputNumber == 0)
{
break;
}
else
{
listInputedNumber.Add(inputNumber);
}
}
}
Console.WriteLine("Додатніх чисел {0}", listInputedNumber.Count(n=>n % 2 == 0));
Console.WriteLine("Від'ємних чисел {0}", listInputedNumber.Count(n => n % 2 != 0));
Console.WriteLine("Положительных чисел {0}", listInputedNumber.Count(n => n > 0));
Console.WriteLine("Отрицательных чисел {0}", listInputedNumber.Count(n => n < 0));
}
Правда в этом случае числа с плавающей точкой будут считываться как целые без уведомления пользователя. Если это нужно делать тогда на вход нужен Double.
Автор решения: becouse
→ Ссылка
Просто нужно читать числа в цикле. Для решения этой задачи числа хранить не нужно.
static void Main(string[] args)
{
int even,odd,negative,positive;
even=0;
odd=0;
negative=0;
positive=0;
int a=Convert.ToInt32(Console.ReadLine());
while (a!=0){
if (a % 2==0){even++;}
else{odd++;}
if (a>0){positive++;}
if (a<0){negative++;}
a=Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("even={0}, odd={1}, positive={2}, negative={3}",even,odd,positive,negative);
}