Подсчитать сколько раз появляется каждое ключевое слово языка С в символьном файле с программой на С - 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;
}

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

  1. Включаются необходимые заголовочные файлы для работы с файлами и строками.
  2. Определяется функция Search, которая принимает два аргумента: строку line и слово word. Функция ищет все вхождения слова в строке и возвращает количество таких вхождений.
  3. В функции main инициализируются переменные nf, nw, nd и ni со значением 0. Они используются для подсчета количества вхождений ключевых слов for, while, do и if соответственно.
  4. Открывается файл f1.txt для чтения с помощью функции fopen.
  5. В цикле while происходит чтение строки из файла с помощью функции fgets.
  6. Каждая прочитанная строка передается в функцию Search для подсчета вхождений каждого ключевого слова.
  7. После окончания чтения файла, функция fclose закрывает файл.
  8. Выводится количество вхождений каждого ключевого слова с помощью функции printf.
  9. Программа возвращает 0, что означает успешное выполнение.

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


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

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

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