Na biblioteca padrão C, os nomes dos cabeçalhos terminam com um .h
sufixo:
stdio.h
No C ++, esses nomes de cabeçalho estão disponíveis em um formato alternativo, com um c
prefixo:
cstdio
Escreva uma função que converta o primeiro formulário no segundo. Você pode fazer a conversão no local ou deixar a string original intacta e retornar uma nova string. O que quer que pareça natural no seu idioma de escolha.
O código deve ser compilado / interpretado sem erros. Avisos do compilador são aceitáveis.
Aqui está sua solução C de linha de base. Possui 70 caracteres e gera um aviso sobre strlen
:
void f(char*h){int i=strlen(h);h[--i]=0;while(--i)h[i]=h[i-1];*h='c';}
A solução mais curta (medida em número de caracteres) vence.
Atualização: se o seu idioma de escolha não suportar funções, programas inteiros também serão aceitáveis.
Atualização: Conforme sugerido por FUZxxl, aqui está uma lista completa dos arquivos de cabeçalho na biblioteca padrão C:
assert.h
ctype.h
errno.h
float.h
limits.h
locale.h
math.h
setjmp.h
signal.h
stdarg.h
stddef.h
stdio.h
stdlib.h
string.h
time.h
Especificamente, não há nomes de cabeçalho com vários pontos.