Проверка строчных букв на упорядоченность по алфавиту - C (СИ)
Формулировка задачи:
Доброго времени суток! Помогите с программой пожалуйста. Отблагодарю не только словами.
Программу надо написать на языке
Также прошу прокоменнтировать наиболее важные места, и описать как работает.
Мне нужно сдать в 12:00 05.10.12, до 11:40 нужно управиться.
Первый кто сделает рабочую и оформленную по критериям программу, получит:
Но если вам это не интересно, то я вас прошу просто помочь, действительно незнаю синтаксиса хотя алгоритм вроде понимаю как можно было бы это сделать.
Си
.Задание
: Дан текст, состоящий из прописных и строчных букв. Проверить, упорядочены ли строчные буквы по алфавиту.Как должно работать
: Вводим одну или несколько строк, содержащий(-ие) строчные и прописные буквы, проверка строчных букв на упорядоченность по алфавиту и вывод результата проверки.
В программе организован понятный для пользователя ввод/вывод (при запросе исходных данных соответствующий запрос должен выводиться на экран с соблюдением правил написания (все пробелы, знаки препинания и пр. должны быть на месте));
Вводимые данные проверяются на корректность (например: если требуется ввести неубывающую последовательность чисел, то при невыполнении этого требования пользователю выводится поясняющее сообщение и предоставляется возможность повторного ввода и т.п.);
Исходный код программы понятен, легко читается, и выдержан в едином стиле;
Имена переменных осмысленны и понятны (например, amount для переменной, в которой хранится количество, или sum – для суммы, или temp – для переменной, предназначенной для временного хранения данных и т.п.)
Игровой аккаунт origin с несколькими популярными играми
Большое спасибо. Добрый человек я жду тебя.
Решение задачи: «Проверка строчных букв на упорядоченность по алфавиту»
textual
Листинг программы
#include <stdio.h> #include <ctype.h> int main(void) { char buf[BUFSIZ]; while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ){ char last = 0, * ptr; for ( ptr = buf; *ptr; ++ptr ) { if ( islower(*ptr) ) { if ( *ptr <= last ) break; else last = *ptr; } } printf("%sorted.\n", ( *ptr ) ? "Uns" : "S"); } return 0; }
Объяснение кода листинга программы
Вывод:
- Объявлена переменная типа char с именем buf и размером BUFSIZ.
- В цикле while происходит запрос на ввод строки с помощью функции fgets в буфер buf.
- Если строка успешно введена, то в цикле for проходим по каждому символу строки.
- Если текущий символ является строчной буквой, то проверяем его относительное положение в алфавите относительно предыдущего символа.
- Если текущий символ меньше или равен предыдущему, то выходим из цикла.
- Если текущий символ больше предыдущего, то обновляем значение переменной last.
- После цикла выводим сообщение о том, что строка отсортирована или нет.
- Цикл while повторяется до тех пор, пока не будет введена строка и не будет нажата клавиша Enter.
- В конце программы возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д