Ir ao conteúdo
  • Cadastre-se

C Exercício com função em C


Ir à solução Resolvido por LuanaCocielo,

Posts recomendados

Oi, preciso de ajuda com esse exercício. Prefiro que não me dêem o código pronto, no máximo parte dele. Só não consigo pensar em como fazer o número de inteiros a ser recebido ser arbitrário, coloco para quando uma letra for digitada ele parar? Faço um vetor? Não tenho ideia. Pensei em perguntar quantos números serão digitados, mas aí tb não lembro como pensar p colocar um contador e tudo. Sei que é algo simples mas eu sou burra, alguém me ajuda por favor

Escreva um programa que recebe um número arbitrário de inteiros e:

• mostra qual foi o maior valor com auxílio da função int numMax(int n1, int n2)

• mostra qual foi o menor valor com auxílio da função int numMin(int n1, int n2)

Exemplo:

Entrada: 1

               -2

                2

                4

Saída: Menor valor: -2

            Maior valor: 4

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Solução

Consegui.

Caso alguém se interesse, fiz assim:

#include <stdio.h>

int numMin(int n1, int n2)
{
    int menor;

    if (n1<n2)
        menor = n1;
    else
        menor = n2;

    return menor;
}

int numMax(int n1, int n2)
{
    int maior;

    if (n1>n2)
        maior = n1;
    else
        maior = n2;

    return maior;
}

int main()
{
    int quant, num, ma , me;

    printf("Quantos numeros você deseja digitar? ");
    scanf("%i", &quant);

    int cont = 0;

    printf("Digite o %d numero: ", cont+1);
    scanf("%i", &num);
    me = num;
    ma = num;
    cont++;

    while(cont < quant) {
        printf("Digite o %d numero: ",cont+1);
        scanf("%i", &num);

        me = numMin(me, num);
        ma = numMax(ma, num);

        cont++;
    }

    printf("Maior numero: %i \n", ma);
    printf("Menor numero: %i \n", me);

    return 0;
}

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@LuanaCocielo    realmente !  ,  entao para resolver , creio que precise mesmo de mais algumas linhas  ,  por exemplo ali dentro while logo depois do scanf voce verifica o valor de cont e se for zero faca ma igual ao numero pego pelo scanf ou seja , igual ao num , assim essa variavel ma será inicializada com o valor do primeiro numero digitado ,  e la na funcao que verifica qual eh o maior ela terah o valor certo .

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Se não for necessário o uso de funções, poderia usar uma abordagem mais simplista:

#include <stdio.h>
#include <stdlib.h>

int main() {
    int quantidade = 0;
    int entrada = 0;
    int maior = 0;
    int menor = 0;

    printf("Quantidade de números: ");
    scanf(" %i", &quantidade);

    for (int i = 0; i < quantidade; ++i) {
        printf("Número [ %i de %i ]: ", (i + 1), quantidade);
        scanf(" %i", &entrada);

        if (i == 0){
            maior = entrada;
            menor = entrada;
        }

        if (entrada > maior) {
            maior = entrada;
        }

        if (entrada < menor) {
            menor = entrada;
        }
    }

    printf("----------------- \n");
    printf("Maior: %3i \n", maior);
    printf("Menor: %3i \n", menor);
    printf("----------------- \n");

    return 0;
}

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!