fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. char convertido[13];
  5. char nome[101];
  6. char *grupos[10] = { "akuGQ", "blvIS", "EOYcmw", "FPZdnx", "JTeoy", "DNXfpz", "AKUgq", "CMWhr", "BLVis", "HRjt" };
  7. int teste = 3;
  8. scanf("%d", &teste);
  9. for (int i = 0; i < teste; i++) {
  10. setbuf(stdin, NULL);
  11. fgets(nome, 100, stdin);
  12. int indiceConvertido = 0;
  13. for (int posicao = 0; indiceConvertido < 12 && nome[posicao] != '\0' && nome[posicao] != '\n'; posicao++) {
  14. if (nome[posicao] != ' ') {
  15. for (int grupo = 0; grupo < 10; grupo++) {
  16. for (int item = 0; grupos[grupo][item] != '\0'; item++) { //verifica se ainda não chegou no fim
  17. if (nome[posicao] == grupos[grupo][item]) {
  18. convertido[indiceConvertido++] = grupo + '0'; //transformando o número em caractere
  19. grupo = 10; //para sair dos dois laços
  20. break;
  21. }
  22. }
  23. }
  24. }
  25. }
  26. convertido[indiceConvertido] = '\0'; //garante que a *string* finaliza após o último caractere
  27. printf("%s\n", convertido);
  28. }
  29. }
  30.  
  31. //https://pt.stackoverflow.com/q/271549/101
Success #stdin #stdout 0s 4132KB
stdin
teste
testex
testey
stdout
94894
948943
948944