Подсчитать сколько раз появляется каждое ключевое слово языка С в символьном файле с программой на С - C (СИ)

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

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

Всем привет! Помогите Подсчитать сколько раз появляется каждое ключевое слово языка С в символьном файле с программой на С.(под ключевым словом подразумевается for while do if).использовать функции fopen(), fclose(), fgets()

Решение задачи: «Подсчитать сколько раз появляется каждое ключевое слово языка С в символьном файле с программой на С»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int Search(char line[], char word[])
  5. {
  6.     char *p, *start;
  7.     int count = 0;
  8.     start = line;
  9.         while(1){
  10.             p = strstr(start, word);
  11.             if(p == NULL)break;
  12.             count++;
  13.             start = p + strlen(word);
  14.         }
  15.     return count;
  16. }
  17. int main()
  18. {
  19.     int nf = 0, nw = 0, nd = 0, ni = 0;
  20.     char s[128];
  21.     FILE *fp;
  22.     fp = fopen("f1.txt", "r");
  23.     while(fgets(s, 128, fp)){
  24.         nf += Search(s, "for");
  25.         nw += Search(s, "while");
  26.         nd += Search(s, "do");
  27.         ni += Search(s, "if");
  28.     }
  29.     fclose(fp);
  30.     puts("File f1 has words:");
  31.     printf("'for' %d times,\n'while' %d times,\n'do' %d times,\n and 'if' %d times.\n", nf, nw, nd, ni);
  32.     return 0;
  33. }

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

  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

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

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

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