Найти сумму неотрицательных чисел кратных 3 - C (СИ)
Формулировка задачи:
Дана последовательность целых чисел {Aj} произвольной длины. Найти сумму неотрицательных чисел кратных 3, наибольшее из таких чисел и номер этого числа в последовательности.
Только начал изучать С, не оч понятно (
Решение задачи: «Найти сумму неотрицательных чисел кратных 3»
textual
Листинг программы
#include <stdio.h> int main(void){ int sum, i, j; int a[] = { 1, 2, -3, 9, 4, 100, -5, 6, -7, 8 }; int n = sizeof(a)/sizeof(a[0]); sum = 0; j = -1; for(i = 0; i < n; ++i){ if((a[i] >= 0) && ((a[i] % 3) == 0)){ if((j == -1) || (a[i] > a[j])) j = i; sum += a[i]; } } if(j != -1){ printf("sum: %d\n", sum); printf("max: %d\nindex: %d\n", a[j], j); } else puts("not found!"); getchar(); return 0; }
Объяснение кода листинга программы
- Объявление переменных:
- sum (сумма)
- i (счетчик цикла)
- j (поиск максимального элемента)
- a[] (массив чисел)
- n (количество элементов в массиве)
- Инициализация переменной n значением, равным количеству элементов в массиве a[].
- Инициализация переменной sum значением 0.
- Инициализация переменной j значением -1.
- Цикл for для прохода по всем элементам массива a[].
- Внутри цикла проверяется, является ли текущий элемент неотрицательным и кратным 3.
- Если текущий элемент удовлетворяет условиям, то:
- Если j == -1 или текущий элемент больше, чем элемент с индексом j, то обновляется значение j.
- К переменной sum добавляется значение текущего элемента.
- После цикла проверяется, было ли найдено хотя бы одно число, удовлетворяющее условиям.
- Если j != -1, то выводится сумма sum и максимальное число a[j].
- Если j == -1, то выводится сообщение
not found!
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д