Как сделать ввод строки с клавиатуры? - C (СИ) (75590)

Узнай цену своей работы

Формулировка задачи:

люди как сделать вввод строки с клавиатуры?
Листинг программы
  1. //Дана строка. Указать те слова, которые содержат хотя бы одну букву k.
  2. #include <stdio.h>
  3. #include <ctype.h>
  4. int main(void)
  5. {
  6. char str[]="kazdiy 4elovek nebil bi... ";
  7. int i,j;
  8. int beg=0; // начало слова
  9. int cout=0; // счетчик буквы k
  10. i=0;
  11. while (str[i]!='\0') // пока не достигнут конец строки
  12. {
  13. if(isalpha(str[i])) // является ли символ буквой
  14. {
  15. if(str[i]=='k')
  16. cout++;
  17. i++;
  18. }
  19. else
  20. {
  21. if(cout>0)
  22. {
  23. for(j=beg;j<i;j++)
  24. printf("%c",str[j]);
  25. printf("\n");
  26. cout=0;
  27. }
  28. i++;
  29. beg=i;
  30. }
  31. }
  32. getch();
  33. return 0;
  34. }

Решение задачи: «Как сделать ввод строки с клавиатуры?»

textual
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <ctype.h>
  4. #include <conio.h>
  5.  
  6. int main(void)
  7. {
  8.  
  9.   int j,i=0,beg=0,cout=0;
  10.   char str[50];
  11.  
  12.   gets(str);
  13.  
  14.       while (str[i]!='\0')                           // пока не достигнут конец строки
  15.   {
  16.     if(isalpha(str[i]))                          // является ли символ буквой
  17.     {
  18.       if(str[i]=='k')
  19.         cout++;
  20.       i++;
  21.     }
  22.     else
  23.     {
  24.       if(cout>0)
  25.       {
  26.         for(j=beg;j<i;j++)
  27.           printf("%c",str[j]);
  28.         printf("\n");
  29.         cout=0;
  30.       }
  31.       i++;
  32.       beg=i;
  33.     }
  34.   }
  35.   _getch();
  36.   return 0;
  37. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы