Buscar

Dúvida. Alguém conseguiu responder essa questão?

Faça um programa que a partir da entrada de dois anos (ex.: 1950 e 1990) conte quantas copas do mundo ocorreram nesse período. Dicas: a) A primeira copa do mundo ocorreu em 1930; b)Nos anos de 1942 e 1946 não houveram mundial, pois o mundo estava em guerra, a 2ª Guerra Mundial.

💡 2 Respostas

User badge image

Filipe Soares

13 copas. 

0
Dislike0
User badge image

RD Resoluções

Para resolver este problema basta subtrairmos o ano final pelo ano inicial e o resultado dividirmos por quarto, após obtermos esse resultado verificamos quantas edições que devemos subtrair. 

-Se o ano de início da busca menor que o ano de 1942 e o ano final da busca maior que 1946, subtraímos 2 edições. 

-Se o ano de início estiver contido entre os anos de 1942 e 1946 e o ano de fim maior que 1946, subtraímos 1 edição.

-Se o ano de fim da busca estiver entre os anos de 1942 e 1946 e o ano de início menor que 1942, também subtraímos 1 edição.

-Caso os anos informado forem menor que 1942 ou maiores que 1946 só exibimos o resultado do cálculo. 


#include<stdio.h>

int main(){

    int ano_inicio, ano_fim, total_edicoes;

    printf("A copa do mundo iniciou-se em 1930, sendo um dos maiores competicoes desportivas \ndo mundo, informe um intervalo de ano e direi quanta edicoes ja tivemos.\n");

    printf("\nInforme um ano para inicio da busca: ");

    scanf("%d", &ano_inicio); printf("\n");

    printf("Informe um ano para fim da busca: ");

    scanf("%d", &ano_fim); printf("\n");

    if((ano_inicio > ano_fim) || (ano_inicio <  1930) || (ano_fim > 2018)) {

        printf("Erro nos anos informados.");

        return 1; //Sai do programa retornando codigo de erro

    }

    total_edicoes = (ano_fim - ano_inicio) / 4;

    if(ano_inicio < 1942 && ano_fim > 1946){

        printf("Total de Copas do Mundo: %d\n", total_edicoes - 2);

        return 0; //Sai do programa

    }

    if(ano_inicio > 1942 && ano_inicio < 1946){

        printf("Total de Copas do Mundo: %d\n", total_edicoes - 1);

        return 0; //Sai do programa

    }

    if(ano_fim > 1942 && ano_fim < 1946){

        printf("Total de Copas do Mundo: %d\n", total_edicoes - 1);

        return 0; //Sai do programa

    }

    if((ano_fim < 1942) || (ano_inicio > 1946)){

        printf("Total de Copas do Mundo: %d\n", total_edicoes);

        return 0; //Sai do programa

    }

    return 0;

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis


✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais