• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

tuasite

Maior, menor, media

3 mensagens neste tópico

Boas pessoal quem em pode ajudar, fiz este codigo mas esta me a dar erro,  codigo é o seguinte:

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

int main()
{
    int i,num,maior,menor,soma;
printf("Digite um numero:\n");
scanf("%d",&num);
maior==num;
menor==num;
soma==num;
for (i=1;i<=6;i++)
        printf("Digite um numero:\n");
        scanf("%d",&num);
        soma==soma+num;
        if (num>maior)
        maior==num;
        if (num<menor)
        menor==num;
    printf("O numero maior foi o %d\n",maior);
    printf("o numeor menor for o %d\n",menor);
    printf("A media dos 7 numeros foi %d\n",soma/7);
return 0;
}

Obrigado :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas ora bem tens aí uns quantos erros:

maior==num -> tu aqui queres passar o valor de num para maior certo? Para isso só usas um '=', só usas dois '=' kd keres saber se uma valor é igual a outro ou não.

depois tens o ciclo for, se interpretei bem o ciclo tu queres que

for (i=1;i<=6;i++)
        printf("Digite um numero:\n");
        scanf("%d",&num);
        soma==soma+num;

apenas aquelas 3 instruçoes sejam dentro do ciclo for, para isso tens que por

for (i=1;i<=6;i++)
    {
        printf("Digite um numero:\n");
        scanf("%d",&num);
        soma==soma+num;
    }

Já agora tu estas a utilizar apenas numeros inteiros, se fosse a ti substituia, e usava floats, para depois no resultado final, te dar um número com vírgula.

Por fim, aconselho-te a apagar o buffer, de cada vez que usas um scanf. Para isso eu normalmente uso a funcção getchar().

Como podes ver declarei a variavel buffer, e depois de cada scanf, fiz buffer=getchar();

Deste modo livras-te do '\n' que existe sempre que usas um enter, e que no próximo scanf, ia dar problemas...

Sendo assim o código final, pode ser este:

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

int main()
{
    char buffer;
    float i,num,maior,menor,soma;
printf("Digite um numero:\n");
scanf("%f",&num);
buffer=getchar();
maior=num;
menor=num;
soma=num;
for (i=1;i<=6;i++)
{        
printf("Digite um numero:\n");
        scanf("%f",&num);
buffer=getchar();
        soma=soma+num;
}
        if (num>maior)
        maior=num;
        if (num<menor)
        menor=num;
    printf("O numero maior foi o %.1f\n",maior);
    printf("o numeor menor for o %.1f\n",menor);
    printf("A media dos 7 numeros foi %.2f\n",soma/7);
return 0;
}

Abraços, qualquer dúvida pergunta :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas amigo obrigadíssimo, esta a funcionar a 110%, ja fiz a alteração mesmo com o flot ainda melhor funciona, obrigado mais uma vez pela atenção e pelo esclarecimento. Um abraço  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora