Recapitulação - Rastreador de Pontuação Básico
Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 14 de 66.
Desafio
FácilVocê receberá duas entradas: primeiro, uma lista de pontuações de testes separadas por vírgulas e, segundo, uma pontuação para adicionar. Crie um vetor a partir das pontuações iniciais, adicione a nova pontuação, calcule a média de todas as pontuações e imprima os resultados.
Requisitos:
- Leia a primeira entrada contendo pontuações separadas por vírgulas (ex:
85,92,78) - Divida a string por vírgulas e remova os espaços (trim) de cada token individual antes de converter para um número inteiro (ex: use
.trim()em cada elemento após a divisão) - Crie um vetor mutável a partir dessas pontuações
- Leia a segunda entrada e converta-a em um número inteiro (remova os espaços primeiro)
- Use
.push()para adicionar a nova pontuação ao vetor - Calcule a média de todas as pontuações no vetor
- Imprima o número total de pontuações
- Imprima a pontuação média (como um número inteiro)
Entrada:
- Primeira linha: Números inteiros separados por vírgulas representando as pontuações iniciais (ex:
85,92,78) - Segunda linha: Um número inteiro representando a nova pontuação a ser adicionada
Saída:
- Primeira linha: O número total de pontuações
- Segunda linha: A pontuação média (como um número inteiro, truncado)
Nota: Sempre chame .trim() na linha de entrada inteira e em cada token de pontuação individual após a divisão por vírgula. As strings de entrada podem conter espaços em branco invisíveis ou caracteres de nova linha que causarão um erro (panic) ao analisar se não forem removidos.
Experimente você mesmo
use std::io;
fn main() {
// Leia as pontuações separadas por vírgula
let mut scores_input = String::new();
io::stdin().read_line(&mut scores_input).expect("Failed to read line");
// Leia a nova pontuação para adicionar
let mut new_score_input = String::new();
io::stdin().read_line(&mut new_score_input).expect("Failed to read line");
// TODO: Escreva seu código abaixo
// 1. Divida scores_input por vírgulas e converta para inteiros
// 2. Crie um vetor mutável a partir dessas pontuações
// 3. Converta new_score_input para um inteiro
// 4. Adicione a nova pontuação ao vetor
// 5. Calcule a média de todas as pontuações
// Imprima o número total de pontuações
// println!("{}", total_scores);
// Imprima a pontuação média
// println!("{}", average);
}Todas as lições de Logic & Flow
1Fluxo de Controle Avançado
A Expressão 'match'Correspondência de Múltiplos ValoresCorrespondência de IntervalosA Expressão 'if let'Loops como ExpressõesRecapitulação - Parser de Comandos Simples4Agrupando Dados com Structs
O que é uma Struct?Visão Geral de StructsAcessando Campos de uma StructStructs MutáveisStructs como Parâmetros de FunçãoTuple StructsRecapitulação - Criando uma Struct Book2Introdução a Vetores
O que é um Vetor?Criando um VetorAdicionando Elementos com pushAcessando Elementos do VetorIterando sobre um VetorIteração MutávelRemovendo ElementosRecapitulação - Rastreador de Pontuação Básico5Pares Chave-Valor com Hash Maps
O que é um Hash Map?Criando um Hash MapInserindo Pares Chave-ValorAcessando ValoresIterando sobre um Hash MapAtualizando um ValorRemovendo um ParRecapitulação - Contador de Palavras8Projeto: Inventário Simples de Itens
Configuração do ProjetoAdicionando um ItemVerificando o EstoqueVendendo um ItemJuntando tudo3Lista de Tarefas via Linha de Comando
Configuração do ProjetoAdicionando uma TarefaVisualizando Todas as TarefasRemovendo uma TarefaCódigo Final