Найти сумму неотрицательных чисел кратных 3 - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана последовательность целых чисел {Aj} произвольной длины. Найти сумму неотрицательных чисел кратных 3, наибольшее из таких чисел и номер этого числа в последовательности. Только начал изучать С, не оч понятно (

Решение задачи: «Найти сумму неотрицательных чисел кратных 3»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main(void){
  4.     int sum, i, j;
  5.     int a[] = { 1, 2, -3, 9, 4, 100, -5, 6, -7, 8 };
  6.     int n   = sizeof(a)/sizeof(a[0]);
  7.  
  8.     sum = 0;
  9.     j   = -1;
  10.     for(i = 0; i < n; ++i){
  11.         if((a[i] >= 0) && ((a[i] % 3) == 0)){
  12.             if((j == -1) || (a[i] > a[j]))
  13.                 j = i;
  14.             sum += a[i];
  15.         }
  16.     }
  17.  
  18.     if(j != -1){
  19.         printf("sum: %d\n", sum);
  20.         printf("max: %d\nindex: %d\n", a[j], j);
  21.     } else
  22.         puts("not found!");
  23.     getchar();
  24.     return 0;
  25. }

Объяснение кода листинга программы

  1. Объявление переменных:
    • sum (сумма)
    • i (счетчик цикла)
    • j (поиск максимального элемента)
    • a[] (массив чисел)
    • n (количество элементов в массиве)
  2. Инициализация переменной n значением, равным количеству элементов в массиве a[].
  3. Инициализация переменной sum значением 0.
  4. Инициализация переменной j значением -1.
  5. Цикл for для прохода по всем элементам массива a[].
  6. Внутри цикла проверяется, является ли текущий элемент неотрицательным и кратным 3.
  7. Если текущий элемент удовлетворяет условиям, то:
    • Если j == -1 или текущий элемент больше, чем элемент с индексом j, то обновляется значение j.
    • К переменной sum добавляется значение текущего элемента.
  8. После цикла проверяется, было ли найдено хотя бы одно число, удовлетворяющее условиям.
  9. Если j != -1, то выводится сумма sum и максимальное число a[j].
  10. Если j == -1, то выводится сообщение not found!.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы