Подсчет количества набранных значений - C#
Формулировка задачи:
Не могу понять, как подсчитать, сколько чисел пользователь набрал в консоли!
Конвертация в string? Чет выдает нули. Хм...
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter some Numbers");
int infiniti = 0;
int A;
do
{
A = Int32.Parse(Console.ReadLine());
infiniti += A;
string Baer = A.ToString();
}
while (A != 0);
{
Console.WriteLine("Сума набраних чисел:{0}\n Cереднє арифметичне:{1} \n", infiniti, infiniti/2);
Console.ReadLine();
}
}
}
}Решение задачи: «Подсчет количества набранных значений»
textual
Листинг программы
static void Main(string[] args)
{
//Переменная, для считывания числа
//-1 в значении нужно, чтобы программа не вышла при ошибке считывания в первом круге
//Суммироваться всё равно не будет
int num = -1;
//Переменная для записи суммы чисел
int count = 0;
//Переменная-счётчик считанных чисел
int counter = 0;
//Среднее арифметическое
int average;
Console.WriteLine("Начинайте ввод чисел. При вводе 0 будет произведён подсчёт.");
do
{
Console.Write("Введите число: ");
//Считываем число из консоли в виде строки, парсим его в число,
//одновременно проверяя корректность
if (int.TryParse(Console.ReadLine(), out num))
{
//Плюсуем счётчик
counter++;
//Плюсуем число к сумме
count += num;
}
//Если ошибка парсинга, то выводим текст ошибки
else
{
//На всякий случай, чтобы не вышла при ошибке программа
num = -1;
Console.WriteLine("Ошибка ввода!");
}
//Метка выхода - считывание ноля из консоли
} while (num != 0);
//Не считаем последнее считанное число - 0, являющийся просто флагом завершения цикла
counter--;
//Если было введено 0 чисел, то и среднее арифметическое тоже - 0.
//Тупо обход возможной ошибки
if (counter == 0)
average = 0;
else
//Считаем среднее арифметическое
average = count / counter;
//Вывод полученной информации
Console.WriteLine("Сумма набранных чисел: {0}; Среднее арифметическое: {1}.", count, average);
Console.Read();
}