Galera fiz esse codigo recentemente e tentei fazer a formatacao como dito acima mas consegui somente fazer a primeira letra ficar maiuscula, como posso formatar as demais caso o usuario insira aleatoriamente? ex: AbCdEf
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(){
char nome[100], sobrenome[100], apelido[100];
int a, b;
printf("\nDigite o seu nome: ");
scanf("%[^\n]", nome);
for (a = 0; a < strlen(nome) + 1; a++) {
if (a == 0 || nome[a - 1] == ' ')
nome[a] = toupper(nome[a]);
else
nome[a] = nome[a];
}
setbuf(stdin, NULL);
printf("\nDigite o seu sobrenome: ");
scanf("%[^\n]", sobrenome);
for (b = 0; b < strlen(sobrenome) + 1; b++) {
if (b == 0 || sobrenome[b - 1] == ' ')
sobrenome[b] = toupper(sobrenome[b]);
else
sobrenome[b] = sobrenome[b];
}
setbuf(stdin, NULL);
printf("\nDigite o seu apelido: ");
scanf("%[^\n]", apelido);
sobrenome[ strlen(nome) - 1 ] = '\0';
printf("\n%s %s, mais conhecido(a) como %s", sobrenome, nome, apelido);
return(0);
}