В каждом слове поменять местами первый и последний символы - 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;
}

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

  1. Подключение стандартной библиотеки для работы с файлами и вывода данных
  2. Объявление переменной типа int для хранения значения 20
  3. Инициализация массива str 20 символами, включая пробелы и знаки препинания
  4. Объявление трех переменных типа int: i, k, temp
  5. В цикле while происходит проверка каждого символа массива str на равенство знаку препинания '.'
  6. Внутри цикла проверяется условие, если текущий символ является пробелом
  7. В этом случае происходит обмен последним и первым символами в подмассиве без пробелов с помощью временной переменной temp
  8. После обмена переменная k обновляется для перехода к следующему символу
  9. После выхода из цикла while происходит вывод всех символов массива str с помощью функции putchar
  10. Возврат значения 0 для успешного завершения программы

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы