Сортировать строку по алфавиту - C (СИ)

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

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

всем привет,Помогите, написал программу чтобы сортировать строку по алфавиту. Как можно переделать, чтобы строка была вводимая
#include <stdio.h>
#include <stdlib.h>
void sort(char **words,int size) {
 
    int n,m,code;
    char *temp;
    for(n=1; n<size; n++)
        for(m=0; m<size-n; m++) {
            code=strcmp(words[m],words[m+1]);
            if(code>0) {
                temp=words[m];
                words[m]=words[m+1];
                words[m+1]=temp;
            }
        }
 
    for (n = 0; n < size; n++)
        printf("%s ",words[n] );

}

int main() {
    char *words []= {"fake","bus","atom"};
 
    int size =sizeof(words)/sizeof(char*);
    sort(words,size);
}

Решение задачи: «Сортировать строку по алфавиту»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
void sort(char **words[],int size) {
 
    int n,m,code;
    char *temp;
    for(n=1; n<size; n++)
        for(m=0; m<size-n; m++) {
            code=strcmp(words[m],words[m+1]);
            if(code>0) {
                temp=words[m];
                words[m]=words[m+1];
                words[m+1]=temp;
            }
        }
    printf("\nОтсортированные строки:\n");
    for (n = 0; n < size; n++)
        printf("%s ",words[n] );
 
        printf("\n");
        }
 
 
int main() {
setlocale(LC_ALL,"Rus");
char *words[5]={NULL};
char word[5][30];
char end_of_input='y';
int i=0;
for (i=0;i<5;i++){
    puts("Введите строку:");
    gets(word[i]);
    words[i]=&word[i];
}
    //char *words []= {"fake","bus","atom"};
 
    int size =sizeof(words)/sizeof(char*);
    sort(words,size);
}

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

  1. Подключение необходимых библиотек для работы с C: для работы с выводом и вводом данных, для работы с функцией malloc и free, для работы с локалью.
  2. Создание функции сортировки, которая принимает указатель на массив строк и размер этого массива.
  3. Внутри функции сортировки создаются следующие переменные: — n, m, code — для выполнения алгоритма сортировки — temp — для временного хранения значения одной из строк при их перестановке
  4. Используя цикл for, происходит сравнение и перестановка строк в нужном порядке
  5. После завершения сортировки происходит вывод отсортированного массива строк на экран
  6. В функции main создается массив строк words[5] и подключается ввод с клавиатуры 5 строк
  7. Вызывается функция сортировки sort(words, 5) для сортировки введенных строк
  8. Выводится отсортированный массив строк на экран
  9. В конце программы присутствует комментарий с примером использования функции sort, где в качестве массива строк можно передать {fake,bus,atom}

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


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

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

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