Создать массив, заполнить 20 элементами, сложить и вывести на экран все кратные 3 - C (СИ)
Формулировка задачи:
Создать массив, заполнить 20 элементами, сложить и вывести на экран все кратные 3
Помогите плиз
Решение задачи: «Создать массив, заполнить 20 элементами, сложить и вывести на экран все кратные 3»
textual
Листинг программы
#include <stdio.h>
#include <time.h>
#define SIZE 20
#define MAX 100
#define MIN -100
int main() {
srand(time(NULL));
int *Array = malloc(SIZE * sizeof(int));
int i, Sum = 0;
printf("Initial array:\n");
for (i = 0; i < SIZE; i++) {
Array[i] = rand() % (MAX + 1 - MIN) + MIN;
printf("%3d ", Array[i]);
}
printf("\nResult:\n");
for (i = 0; i < SIZE; i++) {
if (Array[i] % 3 == 0) {
printf("%3d ", Array[i]);
Sum += Array[i];
}
}
printf("\nSum of multiples of 3: %d", Sum);
free(Array);
return 0;
}
Объяснение кода листинга программы
- #include
Указывает компилятору включить в программу функции файла стандартного ввода/вывода, нужные для отправки сообщений в консоль - #include
Подключает функции файла time.h, позволяющие получить текущее время - #define SIZE 20 Определяет размер массива
- #define MAX 100 Устанавливает максимальное значение для случайной генерации чисел
- #define MIN -100 Устанавливает минимальное значение для случайной генерации чисел
- int main() { Определяет функцию main, с которой начинается выполнение любой программы
- srand(time(NULL)); Инициализация генератора случайных чисел текущим временем
- int Array = malloc(SIZE sizeof(int)); Выделяет память под массив указателей на int
- int i, Sum = 0; Объявляет переменные i и Sum типа int
- printf(
Initial array:\n); Выводит заголовок цикла - for (i = 0; i < SIZE; i++) { Начинает цикл заполнения массива
- Array[i] = rand() % (MAX + 1 - MIN) + MIN; Генерирует случайное число в заданном диапазоне и записывает его в массив
- printf(
%3d, Array[i]); Выводит сгенерированное число на экран, сдвигая его на 3 позиции вправо - } Завершает цикл
- printf(
\nResult:\n); Выводит заголовок цикла - for (i = 0; i < SIZE; i++) { Начинает цикл вывода на экран чисел, кратных 3
- if (Array[i] % 3 == 0) { Проверяет, является ли число кратным 3
- printf(
%3d, Array[i]); Выводит число на экран, сдвигая его на 3 позиции вправо - Sum += Array[i]; Суммирует числа, кратные 3
- } Завершает цикл
- printf(
\nSum of multiples of 3: %d, Sum); Выводит сумму чисел, кратных 3 - free(Array); Освобождает память, выделенную под массив
- return 0; Завершает работу программы