Найти сумму всех четных и произведение нечетных из 10-ти введенных чисел с клавиатуры - C (СИ)

Узнай цену своей работы

Формулировка задачи:

uses crt;
var x, j, p, s: integer;
begin
p:=1; s:=0;
for j:=1 to 10 do
begin
read (x);
if x mod 2=0 then s:=s+x
else p:=p*x;
end;
writeln ('p', p , '' , 's=' , s);
end.

Решение задачи: «Найти сумму всех четных и произведение нечетных из 10-ти введенных чисел с клавиатуры»

textual
Листинг программы
#include <stdio.h>
int main()
{
   int p = 1, s = 0, j, x;
 
   for (j = 0; j < 10; ++j)
   {
      scanf("%d", &x);
      s += (!(x & 1)) * x;
      p *= (x - 1) * (x & 1) + 1;
   }
   printf("p=%d s=%d\n", p, s);
   return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. В первой строке объявлены три переменные: p, s и j. Переменная p инициализируется единицей, а переменные s и j инициализируются нулем.
  2. Затем в цикле for, который выполняется 10 раз, происходит следующее:
    • В каждой итерации цикла пользователю предлагается ввести число с клавиатуры и сохранить его в переменной x.
    • Затем значение переменной s увеличивается на произведение нечетного числа (которое проверяется с помощью оператора & 1) на введенное число.
    • Значение переменной p увеличивается на (введенное число - 1) умноженное на (нечетность числа, проверенную с помощью оператора & 1) плюс 1.
  3. После завершения цикла выводятся значения переменных p и s.
  4. Программа завершается, и возвращается 0. Список переменных и их значений:
  5. p = 1
  6. s = 0
  7. j = 0
  8. x = введенное число

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.5 из 5
Похожие ответы