Как сделать ввод строки с клавиатуры? - 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 для успешного завершения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д