Ввод строки до определенного символа - C (СИ)
Формулировка задачи:
Здравствуйте. Суть задачи: вводится текст, ввод должен осуществляться до определенного символа (например до буквы "а"). При вводе этого символа ("а") программа сохраняет весь текст, введенный до него, в строку (массив char), и ввод прекращается. Подскажите, пожалуйста, как можно реализовать это? Мне в голову приходит только посимвольный ввод с проверкой каждого символа, но тогда после каждой буквы придется нажимать Enter, что очень не удобно. Заранее спасибо.
Решение задачи: «Ввод строки до определенного символа»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define SIZE 1000 int main ( void ) { char sequenceArray[SIZE] = ""; signed char currentLetter = 0; unsigned char counter; puts( "Enter your sequence:" ); fflush( stdout ); for ( counter = 0; ( currentLetter = getchar()) != 'a' && currentLetter != 'A' // перенос && counter < SIZE; ++counter ) { sequenceArray[counter] = currentLetter; } puts(""); puts( "Your sequence is: "); for ( counter = 0; sequenceArray [counter] != 0; ++counter ) { printf( "%c", sequenceArray[counter] ); } puts(""); return ( EXIT_SUCCESS ); }
Объяснение кода листинга программы
В этом коде:
- Объявлены три переменные: sequenceArray, currentLetter и counter.
- Переменная sequenceArray инициализируется пустой строкой.
- В цикле for, который продолжается до тех пор, пока пользователь не введет символ 'a' или 'A', текущий символ добавляется в массив sequenceArray.
- После окончания цикла выводится пустая строка.
- Затем выводится сообщение
Your sequence is:
и в цикле for выводятся все символы, добавленные в массив sequenceArray. - Программа завершается успешно.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д