Подсчитать сколько раз появляется каждое ключевое слово языка С в символьном файле с программой на С - C (СИ)
Формулировка задачи:
Всем привет! Помогите Подсчитать сколько раз появляется каждое ключевое слово языка С в
символьном файле с программой на С.(под ключевым словом подразумевается for while do if).использовать функции fopen(), fclose(), fgets()
Решение задачи: «Подсчитать сколько раз появляется каждое ключевое слово языка С в символьном файле с программой на С»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- int Search(char line[], char word[])
- {
- char *p, *start;
- int count = 0;
- start = line;
- while(1){
- p = strstr(start, word);
- if(p == NULL)break;
- count++;
- start = p + strlen(word);
- }
- return count;
- }
- int main()
- {
- int nf = 0, nw = 0, nd = 0, ni = 0;
- char s[128];
- FILE *fp;
- fp = fopen("f1.txt", "r");
- while(fgets(s, 128, fp)){
- nf += Search(s, "for");
- nw += Search(s, "while");
- nd += Search(s, "do");
- ni += Search(s, "if");
- }
- fclose(fp);
- puts("File f1 has words:");
- printf("'for' %d times,\n'while' %d times,\n'do' %d times,\n and 'if' %d times.\n", nf, nw, nd, ni);
- return 0;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы для работы с файлами и строками.
- Определяется функция
Search
, которая принимает два аргумента: строкуline
и словоword
. Функция ищет все вхождения слова в строке и возвращает количество таких вхождений. - В функции
main
инициализируются переменныеnf
,nw
,nd
иni
со значением 0. Они используются для подсчета количества вхождений ключевых словfor
,while
,do
иif
соответственно. - Открывается файл
f1.txt
для чтения с помощью функцииfopen
. - В цикле
while
происходит чтение строки из файла с помощью функцииfgets
. - Каждая прочитанная строка передается в функцию
Search
для подсчета вхождений каждого ключевого слова. - После окончания чтения файла, функция
fclose
закрывает файл. - Выводится количество вхождений каждого ключевого слова с помощью функции
printf
. - Программа возвращает 0, что означает успешное выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д