Распечатать каждое слово предложения, меняя его первую букву на прописную - C (СИ)

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

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

Словом назовём всякую последовательность букв латинского алфавита длинны не более 20. Предложение - всякую последовательность не более 30 слов, разделенных одним или несколькими пробелами, оканчивающуюся символом "." "!" "?". Написать программу, читающую заданное предложение, контролирующую его правильность и выполняющую функция, которая: Распечатывает каждое слово предложения, меняя его первую букву на прописную, если необходимо. Вот мой вариант кода:
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. char up(void)
  4. {
  5. int k = 0;
  6. int i = 0;
  7. char str[20];
  8. while ((str[i] != '.') || (str[i] != '!') || (str[i] != '?') || (k > 30))
  9. {
  10. char str[20];
  11. while (str[i] != ' ')
  12. {
  13. gets(str);
  14. }
  15. strupr(str[i]);
  16. printf("%s", str);
  17. k += 1;
  18. }
  19. }
  20. void main()
  21. {
  22. int i, k;
  23. char str[20];
  24. printf("Input ur string: ");
  25. up();
  26. }
Программа позволяет ввести строку, однако, не обрабатывает её... Объясните, пожалуйста, в чём у меня ошибка?

Решение задачи: «Распечатать каждое слово предложения, меняя его первую букву на прописную»

textual
Листинг программы
  1.  strupr(str[i]);

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

В данном коде используется функция strupr, которая принимает в качестве аргумента строку (предложение) и изменяет первую букву каждого слова в этой строке на прописную. Однако, код не полностью решает задачу, так как он не выводит измененное предложение.

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы