Поменять местами каждые два соседних слова при выводе из файла - C (СИ)
Формулировка задачи:
помогите решить задачу:
Написать программу, которая считывает текст из файла и выводит его на экран, меняя местами каждые два соседних слова.
Решение задачи: «Поменять местами каждые два соседних слова при выводе из файла»
textual
Листинг программы
#include <stdio.h>
int main(void) {
char w1[256], w2[256];
FILE * f;
if ( ! ( f = fopen("file.txt", "r") ) )
return 1;
while ( fscanf(f, "%255s", w1) == 1 ) {
if ( fscanf(f, "%255s", w2) == 1 )
printf("%s ", w2);
printf("%s ", w1);
}
fclose(f);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные типа char массива: w1 и w2. Размер каждого массива равен 256 символам.
- Открывается файл
file.txtдля чтения с помощью функции fopen. - Используется цикл while для чтения файла построчно.
- В каждой итерации цикла, в переменную w1 считывается первое слово (до 255 символов), а в переменную w2 - второе слово.
- Затем, с помощью функции printf, на экран выводится второе слово, а за ним - первое.
- После каждой итерации, с помощью функции fclose, файл закрывается.
- В конце программы возвращается 0, что означает успешное выполнение.