mbarboza 0 Denunciar post Postado Abril 28, 2013 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
GBecker 51 Denunciar post Postado Abril 30, 2013 A finalidade deste fórum é tirar dúvidas, não resolver tuas tarefas. Compartilhar este post Link para o post Compartilhar em outros sites
Mateus GP 13 Denunciar post Postado Maio 2, 2013 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