Распечатать каждое слово предложения, меняя его первую букву на прописную - C (СИ)
Формулировка задачи:
Словом назовём всякую последовательность букв латинского алфавита длинны не более 20. Предложение
- всякую последовательность не более 30 слов, разделенных одним или несколькими пробелами, оканчивающуюся символом "." "!" "?". Написать программу, читающую заданное предложение, контролирующую его правильность и выполняющую функция, которая:
Распечатывает каждое слово предложения, меняя его первую букву на прописную, если необходимо.
Вот мой вариант кода:
Программа позволяет ввести строку, однако, не обрабатывает её... Объясните, пожалуйста, в чём у меня ошибка?
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> char up(void) { int k = 0; int i = 0; char str[20]; while ((str[i] != '.') || (str[i] != '!') || (str[i] != '?') || (k > 30)) { char str[20]; while (str[i] != ' ') { gets(str); } strupr(str[i]); printf("%s", str); k += 1; } } void main() { int i, k; char str[20]; printf("Input ur string: "); up(); }
Решение задачи: «Распечатать каждое слово предложения, меняя его первую букву на прописную»
textual
Листинг программы
strupr(str[i]);
Объяснение кода листинга программы
В данном коде используется функция strupr
, которая принимает в качестве аргумента строку (предложение) и изменяет первую букву каждого слова в этой строке на прописную. Однако, код не полностью решает задачу, так как он не выводит измененное предложение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д