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