Recapitulação - Rastreador de Pontuação Básico
Parte da seção Lógica & Fluxo do Journey de Rust da Coddy. Lição 14 de 66.
Desafio
FácilVocê receberá duas entradas: primeiro, uma lista de pontuações separadas por vírgulas e, segundo, uma pontuação a ser adicionada. 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 (por exemplo,
85,92,78) - Divida a string pelas vírgulas e remova os espaços em branco de cada token individual antes de convertê-lo em um inteiro (por exemplo, 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 inteiro (remova os espaços em branco 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 inteiro)
Entrada:
- Primeira linha: inteiros separados por vírgulas representando as pontuações iniciais (por exemplo,
85,92,78) - Segunda linha: um 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 inteiro, truncada)
Observação: Sempre chame .trim() na linha de entrada inteira e em cada token de pontuação individual após dividir por vírgula. As strings de entrada podem conter espaços em branco invisíveis ou caracteres de nova linha que causarão um panic durante a análise se não forem removidos.
Experimente você mesmo
use std::io;
fn main() {
// Leia as pontuações separadas por vírgulas
let mut scores_input = String::new();
io::stdin().read_line(&mut scores_input).expect("Failed to read line");
// Leia a nova pontuação a 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. Faça push da nova pontuação no 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 Lógica & Fluxo
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 FinalPratique por conta própria: Compilador de Rust online