Написать программу, находящую из заданных трех чисел произведение нечетных чисел - C (СИ)
Формулировка задачи:
Даны три целых числа. Написать программу, находящую из заданных трех чисел произведение нечетных чисел.
Решение задачи: «Написать программу, находящую из заданных трех чисел произведение нечетных чисел»
textual
Листинг программы
#include "stdafx.h" // ЕСли не в VC++, то вроде надо это убрать
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<math.h>
int main()
{
int result=1, mas[3];
bool flag=false;
float result_of_divission;
printf("Input value (int) and press Enter...\n");
for (int i=0;i<3;i++)
{
scanf("%d",&mas[i]);
result_of_divission=fmod((double)mas[i],2);
if (result_of_divission!=0)
{
result*=mas[i];
flag=true;
}
}
if (flag)
printf("RESULT: %d", result);
else
printf("All values were odd");
getch();
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с консолью, строками, математикой и сканером.
- Задаем тип данных переменной result как int, чтобы хранить результат в целых числах.
- Создаем массив mas[3] для хранения трех введенных пользователем чисел.
- Создаем булевую переменную flag для проверки наличия нечетных чисел.
- Создаем переменную result_of_divission для хранения результата деления на 2 введенного числа.
- Выводим сообщение для ввода трех чисел.
- Запускаем цикл for для получения трех чисел от пользователя.
- С помощью функции scanf() считываем каждое число и сохраняем его в массиве mas[].
- Используя функцию fmod(), получаем остаток от деления числа на 2 и сохраняем его в переменной result_of_divission.
- Проверяем, не равно ли значение result_of_divission нулю, что означает, что число нечетное.
- Если условие выполняется, то умножаем result на число и устанавливаем флаг в true.
- После цикла проверяем значение флага.
- Если flag равно true, выводим результат.
- Если flag равно false, выводим сообщение
All values were odd. - Программа ожидает нажатия клавиши для завершения работы.