Просуммируйте все числа, кратные 9, из интервалов [50, 100], [300, 400] и [800, 1000] - C (СИ)

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

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

Помогите, пожалуйста. Просуммируйте все числа, кратные 9, из интервалов [50, 100], [300, 400] и [800, 1000]. язык си

Решение задачи: «Просуммируйте все числа, кратные 9, из интервалов [50, 100], [300, 400] и [800, 1000]»

textual
Листинг программы
#include <stdio.h>
    
int multiple_sum(int nLeft, int nRight, int nDivider, int * pSum) {
    if ( nDivider == 0 )
        return -1;
    while ( nLeft % nDivider )
        ++nLeft;
    while ( nRight % nDivider )
        --nRight;
    if ( nLeft > nRight )
        return -1;
    *pSum = ( nLeft + nRight ) * ( ( nRight - nLeft ) / nDivider + 1 ) / 2;
    return 0;
}
 
int main(void) {
    int left, right, divider, sum;
    
    while ( printf("Left: ") && scanf("%d", &left) == 1
        && printf("Right: ") && scanf("%d", &right) == 1
        && printf("Divider: ") && scanf("%d", ÷r) == 1 ) {
            if ( multiple_sum(left, right, divider, &sum ) )
                printf("Wrong parameters!\n");
            else
                printf("Sum: %d\n\n", sum);
    }
    
    return 0;
}

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

  1. Объявлены функции multiple_sum и main.
  2. В функции multiple_sum проверяется деление на ноль.
  3. Затем в функции multiple_sum два цикла while:
    • Первый цикл while наращивает значение переменной nLeft до ближайшего большего числа, кратного nDivider.
    • Второй цикл while уменьшает значение переменной nRight до ближайшего меньшего числа, кратного nDivider.
    • Если nLeft становится больше nRight, функция возвращает -1.
  4. В функции main объявлены переменные left, right, divider, sum.
  5. Затем в функции main цикл while, который выполняется до тех пор, пока пользователь вводит корректные значения для left, right, divider.
  6. Если значения введены корректно, вызывается функция multiple_sum, и результат выводится на экран.
  7. Если параметры введены некорректно, выводится сообщение об ошибке.

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


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

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

10   голосов , оценка 4.1 из 5
Похожие ответы