Дана строка предложение. Преобразовать первые символы всех слов к верхнему регистру - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана строка предложение. Преобразовать первые символы всех слов к верхнему регистру

Решение задачи: «Дана строка предложение. Преобразовать первые символы всех слов к верхнему регистру»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
int main(void) {
   char str[81];
   char *ptr;
 
   printf ("<< ");
   fgets (str,80,stdin);
 
   ptr = str;
   if (isalpha(*ptr))
      *ptr = toupper(*ptr);
   while ( *ptr ) {
      if (isblank(*(ptr-1)) && isalpha(*ptr))
         *ptr = toupper(*ptr);
      ++ptr;
   }
 
   printf(">> ");
   printf("%s", str);
 
   return 0;
}

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

  1. Объявлены три переменные: str[81] - строка, в которую будет записано предложение; ptr - указатель на первый символ строки; *ptr - первый символ строки.
  2. Выводится сообщение << и считывается предложение с помощью функции fgets().
  3. Указатель ptr инициализируется значением str.
  4. Если первый символ является буквой (isalpha()), то он преобразуется в верхний регистр (toupper()).
  5. Начинается цикл while, который выполняется до тех пор, пока не будет достигнут конец строки (NULL).
  6. Внутри цикла проверяется, является ли предыдущий символ пробелом (isblank()) и является ли текущий символ буквой (isalpha()). Если оба условия выполняются, то текущий символ преобразуется в верхний регистр.
  7. Указатель ptr увеличивается на 1, чтобы перейти к следующему символу.
  8. После окончания цикла выводится сообщение >> и выводится преобразованная строка.
  9. Возвращается 0, что означает успешное завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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