Вывести элементы массива с нечетными номерами в порядке убывания номеров - C (СИ)
Формулировка задачи:
Дан массив A размера N (N — нечетное число). Вывести его элементы с нечетными номерами в порядке убывания номеров: AN, AN−2, AN−4, ..., A1. Условный оператор не использовать.
Мой код :
Просто не понимаю почему код не работает.
Компилятор ошибку не выдаёт, но выводит совсем другое.
int n; int n; printf("Введите размер массива(только нечётное число) :"); scanf("%d",&n); int a[n]; for(int i=0;i<n;i++) { scanf("%d",&a[i]); } for(int i=n;i>=1;i=i-2) { if((i%2)!=0) printf("%d\n",a[i]); } }
Решение задачи: «Вывести элементы массива с нечетными номерами в порядке убывания номеров»
textual
Листинг программы
for(int i=n-1;i>-1;i-=2) { if((i%2)==0) printf("%d\n",a[i]); }
Объяснение кода листинга программы
В данном коде происходит следующее:
- В переменной
n
хранится размер массиваa
. - В цикле
for
с переменнойi
инициирующейся значениемn-1
и выполняющейся до тех пор, покаi
больше нуля, выполняется следующее: - Условие
if
проверяет, является лиi
четным числом. - Если условие
if
истинно, то естьi
является четным числом, то выводится элемент массиваa
с индексомi
с помощью функцииprintf
. - После каждой итерации цикла
i
уменьшается на 2. В результате выполнения данного кода будут выведены элементы массиваa
с нечетными номерами в порядке убывания номеров.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д