
Enviado em 23/06/2019 - 19:34h
Preciso fazer um código que a primeira entrada seja o número de nomes que vou digitar e ele abrevia esses nomes como nos exemplos abaixo:
#include <stdio.h>
#include <string.h>
//Essa funcao remove as palavras indesejadas
void removerSubstring(char *s,const char *remover)
{
while((s = strstr(s,remover)) != NULL)
memmove(s, s + strlen(remover), 1 + strlen(s+strlen(remover)));
}
void abrevia(char *nome)
{
char aux [51];
int i,auxiliarult,j,ult,esp=0;
for (i=0;i<strlen(nome);i++) if (nome[i]==' ') esp++; //conta o nº de nomes
for (i=0;i<strlen(nome);i++)
{
j=0;
if (nome[i]==' ') j++;
ult=i+1; //posição do começo do último nome
}
for (i=0;i< strlen(nome)-(ult-1);i++) // passa o ultimo nome para um auxiliar
{
auxiliarult=ult;
aux[i]=nome[auxiliarult];
auxiliarult++;
}
int proxlivre=strlen(nome)-ult+2; //prox. posição livre no aux
aux[proxlivre]=','; // adiociona a virgula dps do nome
proxlivre++;
aux[proxlivre]=' '; // adiociona o espaço
proxlivre++;
aux[proxlivre]=nome[0]; // adiociona 1ª inicial
proxlivre++;
aux[proxlivre]='.';
proxlivre++;
aux[proxlivre]=' ';
proxlivre++;
for (i=0;i<ult;i++)
{
if (nome[i]==' ')
{
aux[proxlivre]=nome[i+1];
proxlivre++;
aux[proxlivre]='.';
proxlivre++;
}
}
printf ("%s",aux);
strcpy(nome,aux);
}
int main( void ){
int n,i;
char nome [51];
scanf ("%d",&n);
getchar();
for (i=1;i<=n;i++){
gets (nome);
removerSubstring(nome, "da "); //usamos a função para remover
removerSubstring(nome, "das ");// todas as palavras que devem
removerSubstring(nome, "de "); // ser ignoradas
removerSubstring(nome, "des ");
removerSubstring(nome, "do ");
removerSubstring(nome, "dos ");
abrevia(nome);
puts(nome);
}
return 0;
}
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (2)
Scripts ou binários [RESOLVIDO] (5)
Perfil criado no samba ad dc não loga no Windows 10 e 11 (12)









