Найти произведение чисел, заканчивающихся нечётной цифрой - C (СИ)
Формулировка задачи:
В чём ошибка?
#include <stdio.h>
main()
{
int A[10], i, n, max=0, p=1;
randomize();
clrscr();
for (i=1; i<=10; i++)
{
A[i]=random(1000);
if (A[i] % 2 != 0)
p=p*A[i];
if (A[i]>max)
{
max=A[i];
n=i;
}
}
printf("Произведение чисел, заканчивающихся нечётной цифрой: %d", p);
printf("Наибольшее из таких чисел: %d", max);
printf("Номер этого числа в последовательности: %d", n);
}Решение задачи: «Найти произведение чисел, заканчивающихся нечётной цифрой»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
main()
{
int A[10], i, n, max=0, p=1;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
system("cls");
srand(time(NULL));
for (i=0; i<10; i++)
{
A[i]=rand()%1000;
if (A[i] % 2 != 0)
p=p*A[i];
if (A[i]>max)
{
max=A[i];
n=i;
}
}
printf("Произведение чисел, заканчивающихся нечётной цифрой: %d\n", p);
printf("Наибольшее из таких чисел: %d\n", max);
printf("Номер этого числа в последовательности: %d\n", n);
system("pause");
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем функцию main() как точку входа в программу
- Создаем массив A типа int на 10 элементов
- Инициализируем переменные i, n, max и p
- Устанавливаем кодировку консоли на 1251
- Очищаем консоль
- Инициализируем генератор случайных чисел
- Запускаем цикл for для заполнения массива A случайными числами от 0 до 999
- Проверяем, является ли остаток от деления текущего элемента массива на 2 нечётным числом
- Если условие выполняется, то перемножаем текущий элемент массива на переменную p
- Если текущий элемент массива больше максимального значения переменной max, то обновляем max, n и p
- После завершения цикла выводим произведение чисел, заканчивающихся нечётной цифрой
- Выводим наибольшее из таких чисел
- Выводим номер этого числа в последовательности
- Ожидаем нажатия клавиши для выхода из программы
- Возвращаем 0, чтобы указать, что программа успешно завершилась