Ir ao conteúdo
  • Cadastre-se

C resolver questão com While em c


lolla21

Posts recomendados

Tenho que fazer essa atividade:

1)     Utilizando a estrutura de repetição while, faça um programa em C que leia uma quantidade indeterminada de números. O programa deverá parar de ler números, quando o valor informado for igual a 0(zero). Após a leitura dos números, você deverá informar:

a)      A quantidade de números lidos;

b)     A soma dos números lidos;

c)      A quantidade de números pares lidos;

d)     A soma dos números ímpares lidos;

e)      O maior número lido;

f)       O menor número lido;

g)     A média dos números pares;

h)     A média dos números maiores que 10.

 

fiz todo o código, mas na hora de compilar está dando um erro.

 

 

#include <stdio.h>

int main(){
    int num,i, maior=0,menor=0,cont1=0,cont2=0,cont4=0,soma3=0,cont3=0,soma=0,soma1=0,soma2=0;
    float media,media1,media2;
    
    while(num!=0)
    {
        printf("Digite um numero:");
        scanf("%d",&num);
        //A
        cont1++;
        
        //B
        
        soma=soma+num;
        
        //C
        
        if(num % 2==0)
        {
            cont2++;
            soma1=soma1+num;
        } else{
                cont3++;
                soma2=soma2+num;
            }
            
        // E e F
        
        if(num>maior)
        {
            maior=num;
        }
        
        if(cont1==0)
        {
            menor=num;
        } 
        else if (num<maior)
        {
            menor=num;
        }
        
        //h
        if(num>10)
        {
            cont4++;
            soma3=soma3+num;
            media2=soma3/cont4;
        }
        
        //G e D
        media=soma1/cont2;
        media1=soma2/cont3;
        
        
        
    }
    
    printf("\nA quantidade de numeros lidos e:%d",cont1);
    printf("A soma dos numeros lidos e:%d",soma);
    printf("\nA quantidade de numeros pares lidos e:%d",cont2);
    printf("\nA soma dos numeros impares lidos e:%d",soma2);
    printf("\nO maior numero e:%d\n O menor numero e:%d",maior,menor);
    printf("\nA media dos numeros pares e:%.1f",media);
    printf("\nA media dos numeros maiores que 20 e: %.1f",media2);
    
    
    getch();
    
}

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

  @lolla21            para postar seu código é melhor usar o botão   <>  que está lá na barra de ferramentas da janela de postar pois senão seu código fica faltando alguns caracteres ,  e no enunciado diz que primeiro pegar os números ate digitar zero , e para isso você pode guardar os números em um vetor para depois fazer os cálculos , e na hora de fazer o código é melhor ir fazendo aos poucos , uma opção de cada vez e ir testando , então seu código pode ser assim :

#include <stdio.h>
int main(){
    int num[1000],j, maior=0,menor=0,cont_n_maior_q_10=0;
    int cont=0,n_maior_q_10=0,soma=0,soma_par=0;
    int n_par=0,soma_impar=0;
    while(num[cont-1]!=0){
        printf("Digite um numero ou zero para parar : ");
        scanf("%d",&num[cont]);
        cont++;
    }
    cont--;/*  remove o ultimo numero que é o zero  */
    for(j=0;j<cont;j++){
      
        if(num[j] %2 == 0){n_par++;soma_par += num[j];}
        else soma_impar += num[j];
        if(j==0){maior=num[0];menor=num[j];}
        if(maior < num[j])maior=num[j];

        if(num[j]>10){n_maior_q_10+=num[j];cont_n_maior_q_10++;}
    }
    printf("\n\n");
    printf("A Quantidade De Numeros Lidos Foi ----: %d Numeros\n",cont                           );/* A */

    printf("A Quantidade De Numeros Par Foi ------: %d\n"  ,n_par                                );/* C */
    printf("A Soma Dos Numeros Impares Foi -------: %d\n"  ,soma_impar                           );/* D */
    printf("O Maior Numero Lido Foi --------------: %d\n"  ,maior                                );/* E */

    printf("A Media Dos Numeros Par Foi ----------: %.2f\n",(float)soma_par/n_par                );/* G */
    printf("A Media Dos Numeros Maior Que 10 Foi -: %.2f\n",(float)n_maior_q_10/cont_n_maior_q_10);/*H */
    return 0;
}

ficou faltando fazer a soma total dos números e saber qual é o menor número  .

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...