Как сделать ввод строки с клавиатуры? - 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;
}

Объяснение кода листинга программы

  1. Установка значения _CRT_SECURE_NO_WARNINGS для предотвращения предупреждений о возможных атаках на программу.
  2. Включение необходимых заголовочных файлов: stdio.h для работы с функциями ввода-вывода, ctype.h для работы с функцией isalpha и conio.h для работы с функцией _getch.
  3. Определение переменной main типа void и отсутствие аргументов.
  4. Объявление переменных:
    • j, i, beg, cout - целочисленные переменные для управления циклом и подсчета символов.
    • str - массив символов для хранения введенной строки.
  5. Использование функции gets для ввода строки с клавиатуры в массив str.
  6. Создание цикла while для обработки каждого символа введенной строки до достижения конца строки.
  7. Проверка, является ли текущий символ буквой с помощью функции isalpha.
  8. Если текущий символ равен 'k', увеличение счетчика cout.
  9. Увеличение индекса i для перехода к следующему символу.
  10. Если текущий символ не является буквой, выполнение следующих действий:
    • Если счетчик cout больше 0, вывод на экран символов от beg до i-1 с помощью цикла for и функции printf.
    • Обнуление счетчика cout.
    • Увеличение индекса i для перехода к следующему символу.
    • Обнуление значения beg для начала вывода символов с нового символа.
  11. Завершение цикла while и вызов функции _getch для приостановки выполнения программы и возврата в командную строку.
  12. Возврат 0 для успешного завершения программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы