Оператор for: если элемент последовательности кратен трём - вывести его на экран без изменения, иначе удвоить - C (СИ)
Формулировка задачи:
Вводится последовательность из N целых чисел. Если число кратно трём, то
вывести его на экран без изменения, другие числа удвоить и также вывести на
экран.
Решение задачи: «Оператор for: если элемент последовательности кратен трём - вывести его на экран без изменения, иначе удвоить»
textual
Листинг программы
#include <stdio.h>
int main() {
int N;
int i=1;
puts("N?");
scanf("%d", &N);
for (;i<=N;++i) {
int a;
scanf("%d", &a);
a= a%3 ? 2*a: a ; // a%3!=0
printf("==> %d\n", a);
}
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с вводом/выводом
- Объявление переменной N типа int для хранения количества элементов последовательности
- Объявление переменной i типа int для итерации по элементам последовательности начиная с 1
- Вывод на экран сообщение
N?для запроса количества элементов последовательности - Считывание количества элементов последовательности в переменную N с помощью функции scanf
- Создание цикла for для итерации по элементам последовательности начиная с 1 и до N
- Внутри цикла объявление переменной a типа int для хранения текущего элемента последовательности
- Считывание текущего элемента последовательности в переменную a с помощью функции scanf
- Условие a%3 ? 2*a: a; проверяет, делится ли текущий элемент на 3 без остатка
- Если условие истинно, то текущий элемент удваивается, иначе остается без изменений
- Вывод на экран значение текущего элемента с помощью функции printf
- Увеличение значения переменной i на 1 после каждой итерации цикла
- Возвращение 0 в конце программы для успешного выполнения
- Пример использования программы: Введите количество элементов последовательности: 6 1 2 3 4 5 6 ==> 2 ==> 4 ==> 6