Найти сумму всех четных и произведение нечетных из 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; }
Объяснение кода листинга программы
В этом коде:
- В первой строке объявлены три переменные: p, s и j. Переменная p инициализируется единицей, а переменные s и j инициализируются нулем.
- Затем в цикле for, который выполняется 10 раз, происходит следующее:
- В каждой итерации цикла пользователю предлагается ввести число с клавиатуры и сохранить его в переменной x.
- Затем значение переменной s увеличивается на произведение нечетного числа (которое проверяется с помощью оператора & 1) на введенное число.
- Значение переменной p увеличивается на (введенное число - 1) умноженное на (нечетность числа, проверенную с помощью оператора & 1) плюс 1.
- После завершения цикла выводятся значения переменных p и s.
- Программа завершается, и возвращается 0. Список переменных и их значений:
- p = 1
- s = 0
- j = 0
- x = введенное число
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д