С клавиатуры вводится слово - C (СИ)
Формулировка задачи:
Здраствуйте.
С клавиатуры вводится слово. Написать программу распечатывающую все буквы этого слова в алфавитном порядке. Максимальная длинна строк - не менее 80 символов.
Помогите пожалуйста.
Решение задачи: «С клавиатуры вводится слово»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> int compare(const void * x1, const void * x2) { return ( *(char*)x1 - *(char*)x2 ); } void print_skip_spaces(char *str) { for (char *ptr=str; *ptr; ptr++) if (*ptr != ' ') printf("%c", *ptr); } int main() { char buf[BUFSIZ]; while (printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf!='\n') { qsort(buf, strlen(buf) - 1, sizeof(char), compare); print_skip_spaces(buf); } return 0; }
Объяснение кода листинга программы
- Вводится слово с клавиатуры и сохраняется в буфере buf типа char[BUFSIZ]
- Используя функцию qsort, буфер buf сортируется в лексикографическом порядке (по возрастанию) с использованием функции compare в качестве функции сравнения.
- Используя функцию print_skip_spaces, отсортированное слово выводится на экран, пропуская пробелы.
- Процесс повторяется до тех пор, пока пользователь не введет пустую строку или не достигнет ограничения на количество вводимых данных (buf имеет ограниченную длину).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д