В каждом четном числе поменять местами младший байт со старшим - C (СИ)

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

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

В каждом четном числе поменять местами младший байт со старшим. После замены определить количество четных чисел. Не могу сделать .

Решение задачи: «В каждом четном числе поменять местами младший байт со старшим»

textual
Листинг программы
#include <stdio.h>
#include <stdint.h>
 
int main(void){
    unsigned i, k;
    uint16_t a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
    unsigned n   = sizeof(a)/sizeof(a[0]);
 
    for(i = 0; i < n; ++i){
        if(! (a[i] & 1))
            a[i] = (a[i] << 8) | (a[i] >> 8);
    }
    
    for(k = i = 0; i < n; ++i){
        if(! (a[i] & 1))
            ++k;
    }
    printf("count even: %u\n", k); 
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с файлами и целочисленными значениями.
  2. Объявление переменных: — i — счётчик для внешнего цикла; — k — счётчик для внутреннего цикла; — a — массив, в котором будет выполняться операция инвертирования байтов.
  3. Инициализация массива a шестнадцатеричными числами от 1 до 9.
  4. Вычисление размера массива a в байтах и сохранение его в переменную n.
  5. Первый цикл for, который перебирает все элементы массива a.
  6. Внутри цикла проверяется, является ли текущий элемент чётным числом (остаток от деления на 2 равен нулю).
  7. Если число чётное, то выполняется операция инвертирования байтов: старший байт сдвигается влево на 8 позиций, а младший байт сдвигается вправо на 8 позиций.
  8. Второй цикл for, который перебирает все чётные числа массива a.
  9. Внутри цикла проверяется, является ли текущий элемент чётным числом.
  10. Если число чётное, то счётчик k увеличивается на единицу.
  11. Вывод на экран количества чётных чисел в массиве a.
  12. Конец функции main.

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


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

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

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