Plataforma: URI (BEECROWD)
Problema: 2694
Enunciado:
Joãozinho tem que ajudar seu pai. Um relatório específico com alguns números está saindo com caracteres indesejáveis no meio. A ideia é apenas somar os 3 valores que aparecem em cada linha sempre na mesma posição, ignorando as letras e apresentar esta soma. Não existem espaços em branco na linha.
Linguagens: C e C++
Solução:
Código em C:
#include <string.h> int getNum(char letra) { switch (letra) { case '1': return 1; break; case '2': return 2; break; case '3': return 3; break; case '4': return 4; break; case '5': return 5; break; case '6': return 6; break; case '7': return 7; break; case '8': return 8; break; case '9': return 9; break; default: return 0; break; } } int main() { int n, i; scanf("%d ", &n); while (n--) { char palavra[14]; gets(palavra); int termos1 = getNum(palavra[2])*10 + getNum(palavra[3]); int termos2 = getNum(palavra[5])*100 + getNum(palavra[6])*10 + getNum(palavra[7]); int termos3 = getNum(palavra[11])*10 + getNum(palavra[12]); printf("%d\n", termos1 + termos2 + termos3); } return 0; }
#include <iostream> using namespace std; int getNum(char letra) { switch (letra) { case '1': return 1; break; case '2': return 2; break; case '3': return 3; break; case '4': return 4; break; case '5': return 5; break; case '6': return 6; break; case '7': return 7; break; case '8': return 8; break; case '9': return 9; break; default: return 0; break; } } int main() { int n, i; cin >> n; while (n--) { string palavra; cin >> palavra; int termos1 = getNum(palavra[2])*10 + getNum(palavra[3]); int termos2 = getNum(palavra[5])*100 + getNum(palavra[6])*10 + getNum(palavra[7]); int termos3 = getNum(palavra[11])*10 + getNum(palavra[12]); cout << termos1 + termos2 + termos3 << endl; } return 0; }
Nenhum comentário:
Postar um comentário