Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mbarboza

Programa C

Recommended Posts

Tenho que fazer um programa com o seguinte enunciado:

 

 

MaioresQueMedia - Ler as notas (número real) de 30 alunos e calcular
a média da turma. Informar uma listagem com as notas que forem
superiores à média.
gostaria que alterassem só o que é necessário para printar as notas, sem mexer na estrutura. Obrigado.

#include<stdio.h>
#include<stdlib.h>
 
int main(){
 
int i;
float NOTA[35],media,soma=0;
 
    for(i=0;i<30;i++){
 
        scanf("%f",&NOTA[i]);
        soma=soma+NOTA[i];
 
    }
 
media=soma/30;
 
    for(i=0; i<30; i++){
        if(NOTA[i]>media)
 
        printf("%.2f\t",&NOTA[i]);
 
 
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

A finalidade deste fórum é tirar dúvidas, não resolver tuas tarefas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

GBecker, sei que você é mais experiente do que eu, pelo menos, neste fórum, mas não seja intolerante. Basta uma leitura rápida do código para ver o erro.

 

Mbarboza, você cometeu um erro simples: Na printf, diferente da scanf, você não deve usar como parâmetro um ponteiro, exceto de uma string.

 

printf("%.2f\t",&NOTA[i]); // Errado

printf("%.2f\t",NOTA[i]); // Certo
#include <stdio.h>
#include <stdlib.h>

int main()
{
    float NOTA[30], media, soma = 0;
    int i;

    for(i = 0; i < 30; i++)
    {
        scanf("%f", &NOTA[i]);
        soma += NOTA[i];
    }

    media = soma / 30.;

    for(i=0; i<30; i++)
        if(NOTA[i] > media)
            printf("%.2f\n", NOTA[i]);

    return 0;
}

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.