Подсчет суммы и произведения чисел, стоящих перед введенным числом - C#
Формулировка задачи:
Здравствуйте. Прошу помочь в написании несложной программы.
Задача такова: пользователь вводит число. Если введенное число четное, то нужно найти сумму чисел, предшествующих этому числу, если нечетное - найти их произведение
Вот мой код:
При запуске программы возникли следующие проблемы:
1. при выводе введенного числа (а) в консоль, вместо, например, введенной 4, выводится 52
2. вывод массива на экран начинается не с первого элемента, а со второго
3. произведение не подсчитывается, зато сумму считает в любом случае, при том все элементов массива, стоящих до и после введенного числа
Что я делаю не так?
Прилагаю скриншот работы программы:
Листинг программы
- using System;
- namespace ConsoleApplication7
- {
- class Program
- {
- static void Main(string[] args)
- {
- int[] str = new int[5] {1,2,3,4,5};
- int n = Convert.ToInt32(str.Length);
- int sum = 0, pr = 1;
- for (int i = 1; i < n; i++)
- {
- Console.Write(str[i] + " ");
- }
- Console.WriteLine();
- Console.Write("введи целое число: ");
- int a = Convert.ToInt32(Console.Read());
- for (int i=1; i<n; i++)
- {
- if (a % 2 == 0)
- {
- sum += str[i];
- }
- else
- {
- pr *= str[i];
- }
- }
- Console.WriteLine("cумма эл-в меньше " + a + ": " + sum);
- Console.WriteLine("произв-е эл-в меньше " + a + ": " + pr);
- Console.ReadKey();
- }
- }
- }
Решение задачи: «Подсчет суммы и произведения чисел, стоящих перед введенным числом»
textual
Листинг программы
- for (int i=0; i<n; i++)
- {
- if ((a % 2 == 0) && (str[i] < a))
- {
- sum += str[i];
- }
- if ((a % 2!=0) && (str[i]<a))
- {
- pr *= str[i];
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д