Определить в K-ой строке файла самое короткое слово, начинающееся и заканчивающееся с символа C - C (СИ)
Формулировка задачи:
Дано:
в текстовом файле fin.txt находится текст на русском языке. С клавиатуры вводится число K и символ C.Требуется:
определить в K-ой строке файла fin.txt самое короткое слово, начинающееся и заканчивающееся с символа C и сформировать текстовый файл fout.txt, в который записать это слово и его длину. Помогите пожалуйста, не могу понять, как работать с файлами.Решение задачи: «Определить в K-ой строке файла самое короткое слово, начинающееся и заканчивающееся с символа C»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- int min = 80, len, n = 1, ns = 1, k;
- char c, word1[20], str[80];
- FILE *fin, *fout;
- printf("Enter string number ");
- scanf("%d", &k);
- printf("Enter desired letter ");
- scanf(" %c", &c);
- fin = fopen("fin.txt", "r");
- fout = fopen("fout.txt", "w");
- while(1){
- fgets(str, 80, fin);
- ++ns;
- if(ns == k +1){
- fprintf(fout, "%s", str);
- break;
- }
- }
- fclose(fin);
- fclose(fout);
- fout = fopen("fout.txt", "r");
- while(n == 1){
- n = fscanf(fout, "%s", str);
- len = strlen(str);
- if(str[0] == c && str[len - 1] == c){
- if(min > len){
- min = len;
- strcpy(word1, str);
- }
- }
- }
- fclose(fout);
- fout = fopen("fout.txt", "w");
- fprintf(fout, "%s %d", word1, min);
- fclose(fout);
- return 0;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяются начальные значения переменных
- Пользователю предлагается ввести номер строки и символ
- Открываются файлы для чтения и записи
- В цикле пока не будет прочитана нужная строка, считываются строки из файла
- Если строка соответствует условиям (начинается и заканчивается на введенный символ), то она записывается в файл для вывода и проверяется на минимальную длину
- Если найдена более короткая строка, то она становится новой минимальной длиной
- Закрываются файлы для чтения и записи
- Открывается файл для вывода
- В цикле пока не будет прочитана строка, считываются строки из файла для вывода
- Если длина строки соответствует минимальной длине, то выводится эта строка
- Закрывается файл для вывода
- Возвращается 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д