Определить количество заданных слов в предложении - C (СИ)
Формулировка задачи:
Написать программу , которая считывает текст из файла и выводит его на экран , добавляя после каждого предложения информацию о том , сколько раз встретилось в нем введенное с клавиатуры слово. ВВод-Вывод осуществлять с помощью средств языка С.
Решение задачи: «Определить количество заданных слов в предложении»
textual
Листинг программы
#include <stdio.h> #include <string.h> int repeat(char *s,char *slovo) { char *pos; int povtor,i,j,s_len; pos=NULL; povtor=0; s_len=(int)strlen(s); pos=strstr(s,slovo); if(pos!=NULL) { j=0; for(i=pos;i<pos+s_len-1;i++) { pos=strstr(pos+j,slovo); if(pos!=NULL) { povtor++; j++; } } } return povtor; } main() { FILE *read; char s[100],slovo[5]; printf("Enter word: "); scanf("%s",slovo); read=fopen("f2.txt","rt"); while(!feof(read)) { fgets(s,100,read); printf("%s",s); printf("\nrepeat = %d\n",repeat(s,slovo)); } close(read); }
Объяснение кода листинга программы
В этом коде определен функции repeat
и main
. Функция repeat
принимает два аргумента типа char*
- строки s
и slovo
. Эта функция ищет первое вхождение подстроки slovo
в строке s
и возвращает количество таких вхождений.
Функция main
открывает файл f2.txt
для чтения, считывает его построчно и выводит каждую строку. После каждой строки вызывается функция repeat
с текущей строкой и словом для поиска. Результат поиска выводится на экран.
Вот список действий, которые происходят в коде:
- Включаются необходимые заголовочные файлы.
- Определяется функция
repeat
, которая ищет вхождение подстроки в строке. - Определяется функция
main
, которая открывает файл для чтения и считывает его построчно. - Пользователю предлагается ввести слово для поиска.
- Файл
f2.txt
открывается для чтения. - Пока файл не закончился, считывается следующая строка.
- Считанная строка выводится на экран.
- Вызывается функция
repeat
с текущей строкой и словом для поиска. - Результат поиска выводится на экран.
- Файл закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д