Функция, упорядочивающая буквы по алфавиту - C (СИ)

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

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

Прошу помощи, нужно написать программу, которая расставляет буквы по алфавиту через функцию

Решение задачи: «Функция, упорядочивающая буквы по алфавиту»

textual
Листинг программы
#include <stdio.h>
 
void bubble_sort(char iarr[], int num);
 
int main() {
    char Test[15] = "zyxfedcba";
    printf("String before sorting: %s\n", Test);
    bubble_sort(Test, strlen(Test));
    printf("String after sorting: %s\n", Test);
    return 0;
}
 
void bubble_sort(char iarr[], int num) {
    int i, j, temp;
    for (i = 1; i < num; i++) {
        for (j = 0; j < num - 1; j++) {
            if (iarr[j] > iarr[j + 1]) {
                temp = iarr[j];
                iarr[j] = iarr[j + 1];
                iarr[j + 1] = temp;
            }
        }
    }
}

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

  1. Включаем необходимые заголовочные файлы
  2. Объявляем функцию bubble_sort, которая принимает два аргумента: массив символов и его длину
  3. В функции main создаем массив Test, инициализируем его значениями zyxfedcba
  4. Выводим исходное значение массива Test с помощью функции printf
  5. Вызываем функцию bubble_sort, передавая в нее массив Test и его длину
  6. После сортировки выводим отсортированное значение массива Test с помощью функции printf
  7. Возвращаем 0 из функции main, чтобы указать на успешный конец работы программы
  8. В функции bubble_sort объявляем три переменные: i, j и temp. Значение i меняется от 1 до num-1, j меняется от 0 до num-2, temp хранит временное значение
  9. Используя два вложенных цикла, мы сравниваем и меняем значения элементов массива, пока не будет выполнено условие, что текущий элемент больше следующего
  10. После выполнения всех итераций, массив будет отсортирован по возрастанию

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

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