Implemente as seguintes funções retiradas de enunciados de exames.

3.14char *wordupr(char *s)

Recebe uma string, coloca a primeira letra de cada palavra em maiúscula e as restantes em minúsculas. Supõe-se que a separação entre palavras é realizada por espaços em branco.

wordupr(“ERA uma VeZ”) “Era Uma Vez”

Passo 1

Fala aí! Essa aqui pode até parecer complicada, mas se torna bem simples quando você conhece uma manha ou outra. Aqui, nós vamos usar as funções toupper e tolower, que já são funções conhecidas e capazes de passar caracteres para maiúsculas ou minúsculas, para isso, só precisamos colocar um #include ctype.h> no início do programa.

Então, vamos começar da seguinte forma:

Definimos a variável i, que será utilizada para percorrer nossa string logo em seguida. Já podemos de cara também definir o primeiro caractere, s[0], como maiúsculo.

Passo 2

Agora, vamos passar para nosso laço for e percorrer pela string.

Dentro dele, abrimos uma condição ifelse que vai ser responsável por identificar se o caractere anterior é um espaço (linha 13). Caso isso ocorra, definimos o caractere atual para maiúsculo; caso contrário, o definimos para minúsculo. Dessa forma, conseguimos garantir que os únicos caracteres maiúsculos serão as primeiras letras de cada palavra.

Resposta