Найти максимальное количество символов между двумя английскими заглавными буквами - C (СИ)
Формулировка задачи:
Нужна программа на C (не на C++), которая считает, максимальное кол-во символов между 2мя английскими заглавными буквами (ASCII)...
Пытался написать, отказывается работать (нужно использовать только стандартные getchar(); putchar (); и т.д.
Вот мой код, скажите пожалуйста что не так. Заранее благодарен (библиотеки естественно подключены)
#include <stdio.h> #include <conio.h> void main() { char text; // Текущий символ. int number=0; // Переменная, для хранения кол-ва символов между заглавными буквами. int maxnum=0; // Переменная, для хранения максимального кол-ва символов между заглавными буквами. bool count=false; //Флаг, показывающий, идет ли подсчет или нет. //Запрос ввода строки: printf("Enter the string please (don't forget CTRL+Z at the end):\n"); text=getchar(); while (text!=EOF) { if ((text>64 && text<91) && count==false) // Заглавные английские буквы имеют код от 65 до 90 count=true; //Этот IF нужен на случай, если файл начинается не с заглавной буквы! if (count==true && (text<65 || text>90)) number++; if (count==true && (text>64 && text<91)) { if (number>maxnum) maxnum=number; number=0; } text=getchar(); } printf("%d", maxnum); getch(); }
Помогите плиииз!
Странно...в Turbo C++ работает, в VS нет...кто нибудь объяснит в чем проблема?!
Решение задачи: «Найти максимальное количество символов между двумя английскими заглавными буквами»
textual
Листинг программы
bool count=false;
Объяснение кода листинга программы
- Переменная
count
инициализируется значениемfalse
. - Запускается цикл, который будет выполняться до тех пор, пока не будет найдено максимальное количество символов между двумя английскими заглавными буквами.
- В каждой итерации цикла проверяется текущий символ. Если текущий символ является английской заглавной буквой, то переменная
count
устанавливается в значениеtrue
. - Если переменная
count
равнаtrue
, то значение переменнойcount
увеличивается на единицу. - Если переменная
count
равнаfalse
, то значение переменнойcount
устанавливается в единицу. - Если переменная
count
равнаtrue
, то значение переменнойcount
устанавливается в ноль. - Цикл продолжается до тех пор, пока не будет найдено максимальное количество символов между двумя английскими заглавными буквами.
- После завершения цикла, переменная
count
содержит максимальное количество символов между двумя английскими заглавными буквами. - Код завершается, возвращая значение переменной
count
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д