В каждой строке вставить после знаков препинания пробелы, если их там нет - C (СИ)
Формулировка задачи:
здрасти можете подсказать почему программа работает неисправно. Само задание: В каждой строке вставить после знаков препинания пробели, если их там нет.
#include <stdio.h> #include <ctype.h> int main(){ FILE* f=fopen("1.txt", "r"); if(!f){perror(NULL); exit(1);} char txt[BUFSIZ]={'\0'}, *a=txt; while(!feof(f)){ *a=fgetc(f); if(!ispunct(*(a-1))||*a!=' ') ++a; } *--a='\0'; freopen("1.txt", "w", f); fputs(txt, f); fclose(f); return 0; }
Решение задачи: «В каждой строке вставить после знаков препинания пробелы, если их там нет»
textual
Листинг программы
FILE* f=fopen("1.txt", "r");
Объяснение кода листинга программы
- Открывается файл
1.txt
для чтения. - Затем производится чтение содержимого файла в память.
- Далее в цикле обрабатывается каждая строка текста.
- В каждой строке проверяется наличие знаков препинания.
- Если знаки препинания есть, то после них добавляются пробелы.
- После обработки каждой строки, она выводится на экран.
- В конце работы программы, закрывается файл
1.txt
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д