Вычислить характеристики последовательности, вводимой с клавиатуры - C (СИ)
Формулировка задачи:
Вычислить указанные в варианте характеристики последовательности, вводимой с клавиатуры (без использования массивов и промежуточных файлов для хранения всей последовательности), учитывая, что элементы последовательности могут быть введены только один раз.
ПРИМЕЧАНИЯ:
В программе обязательно применение функций с передаваемыми параметрами. Не допускается использование массивов.
Рекомендуется использовать операции целочисленной арифметики. Если в последовательности отсутствует искомый элемент, то об этом следует вывести сообщение.
Вычислить общую сумму всех четных цифр во всех нечетных элементах.
Пример: 14 123 52 3241 5147 80 900 результат: 2+2+4+4=12.
Решение задачи: «Вычислить характеристики последовательности, вводимой с клавиатуры»
textual
Листинг программы
#include<stdio.h> int sum(char* argv) { int sum = 0; while (*argv) { if ( !(*argv % 2) ) sum += *argv - '0'; ++argv; } return sum; } int main(int argc, char* argv[]) { int i = 1, s = 0; while (argv[i]) { if ( !(i % 2)) s += sum (argv[i]); ++i; } fprintf (stdout, "%i\n", s); return 0; }
Объяснение кода листинга программы
- В функции
sum
происходит подсчет суммы всех четных элементов введенной последовательности. - В функции
main
происходит считывание последовательности из аргументов командной строки. - Переменная
i
инициализируется значением 1, а переменнаяs
- нулем. - В цикле происходит проверка каждого элемента последовательности на четность.
- Если элемент четный, то его значение (в десятичной системе счисления) добавляется к переменной
s
. - Результат выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д