В каждом слове поменять местами первый и последний символы - C (СИ)
Формулировка задачи:
Доброй ночи.
Помогите с программой, заранее спасибо.
Дана строка символов до точки. В каждом слове поменять местами первый и последний символы.
Решение задачи: «В каждом слове поменять местами первый и последний символы»
textual
Листинг программы
#include<stdio.h>
int main()
{
int str[20] = {'a','b','1','2',' ','c','d','3','4',' ','e','i','5','6',' ','8','0','c','f','.'};
int i = 0, k =0, temp;
while (str[i] != '.')
{
if (str[i] == ' ')
{
temp = str[i-1];
str[i-1] = str[k];
str[k] = temp;
k = i+1;
}
++i;
}
for (i = 0; i <=19; ++i)
putchar(str[i]);
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных
- Объявление переменной типа int для хранения значения 20
- Инициализация массива str 20 символами, включая пробелы и знаки препинания
- Объявление трех переменных типа int: i, k, temp
- В цикле while происходит проверка каждого символа массива str на равенство знаку препинания '.'
- Внутри цикла проверяется условие, если текущий символ является пробелом
- В этом случае происходит обмен последним и первым символами в подмассиве без пробелов с помощью временной переменной temp
- После обмена переменная k обновляется для перехода к следующему символу
- После выхода из цикла while происходит вывод всех символов массива str с помощью функции putchar
- Возврат значения 0 для успешного завершения программы