Как сделать ввод строки с клавиатуры? - C (СИ) (75590)
Формулировка задачи:
люди как сделать вввод строки с клавиатуры?
//Дана строка. Указать те слова, которые содержат хотя бы одну букву k. #include <stdio.h> #include <ctype.h> int main(void) { char str[]="kazdiy 4elovek nebil bi... "; int i,j; int beg=0; // начало слова int cout=0; // счетчик буквы k i=0; while (str[i]!='\0') // пока не достигнут конец строки { if(isalpha(str[i])) // является ли символ буквой { if(str[i]=='k') cout++; i++; } else { if(cout>0) { for(j=beg;j<i;j++) printf("%c",str[j]); printf("\n"); cout=0; } i++; beg=i; } } getch(); return 0; }
Решение задачи: «Как сделать ввод строки с клавиатуры?»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <ctype.h> #include <conio.h> int main(void) { int j,i=0,beg=0,cout=0; char str[50]; gets(str); while (str[i]!='\0') // пока не достигнут конец строки { if(isalpha(str[i])) // является ли символ буквой { if(str[i]=='k') cout++; i++; } else { if(cout>0) { for(j=beg;j<i;j++) printf("%c",str[j]); printf("\n"); cout=0; } i++; beg=i; } } _getch(); return 0; }
Объяснение кода листинга программы
- Установка значения _CRT_SECURE_NO_WARNINGS для предотвращения предупреждений о возможных атаках на программу.
- Включение необходимых заголовочных файлов: stdio.h для работы с функциями ввода-вывода, ctype.h для работы с функцией isalpha и conio.h для работы с функцией _getch.
- Определение переменной main типа void и отсутствие аргументов.
- Объявление переменных:
- j, i, beg, cout - целочисленные переменные для управления циклом и подсчета символов.
- str - массив символов для хранения введенной строки.
- Использование функции gets для ввода строки с клавиатуры в массив str.
- Создание цикла while для обработки каждого символа введенной строки до достижения конца строки.
- Проверка, является ли текущий символ буквой с помощью функции isalpha.
- Если текущий символ равен 'k', увеличение счетчика cout.
- Увеличение индекса i для перехода к следующему символу.
- Если текущий символ не является буквой, выполнение следующих действий:
- Если счетчик cout больше 0, вывод на экран символов от beg до i-1 с помощью цикла for и функции printf.
- Обнуление счетчика cout.
- Увеличение индекса i для перехода к следующему символу.
- Обнуление значения beg для начала вывода символов с нового символа.
- Завершение цикла while и вызов функции _getch для приостановки выполнения программы и возврата в командную строку.
- Возврат 0 для успешного завершения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д