Ir ao conteúdo
  • Cadastre-se

C Nota acima da media com vetor


Noobia
Ir à solução Resolvido por brund321,

Posts recomendados

Boa tarde! 😃 Eu estou precisando de ajuda com um código que eu fiz, mas acabei empacando e agora não consigo mais sair daqui!
Basicamente é um código usando vetor, vou receber a nota de 20 alun os e mostrar no final um printf informando qual a média das notas, a maior nota e etc.
Porém, eu precisava printar no final quantas pessoas tiraram a nota 10 (acima da média) e qual foi a nota do quarto aluno. Mas eu não consigo fazer isso, está dando alguns erros no final, eu precisava de alguma ajuda pra saber o que pode ser feito

 

#include <stdio.h>
#include <stdlib.h>
int main()
{
	float nota [20], maiornota, media, somanota=0, acimamedia=0;
	int i, qtdacima;
	
	for (i = 0; i < 20; i++)
	{
		printf ("Informe a %i nota", i+1);
		scanf ("%f", &nota[i]);
		
		somanota = somanota + nota[i];
	
	
	if (nota [i] > maiornota)
	{
		maiornota = nota [i];
		
	}
	
	if (nota [i >= 5])
	{
		qtdacima++;
	
	}
	
    } // fim do primeiro for

	media = somanota / 20;

	printf ("\n media da sala %.2f", media);
	printf ("\n maior nota %.2f", maiornota); 
	printf ("\n quantidade de alunos que tiveram nota maior ou igual a 5:  %i", qtdacima); 
	
	for (nota > media; nota = media; i++)
	{
		if (nota >= media)
		{
			acimamedia++;
		}
		
    printf ("\n A quantidade de pessoas que ficaram com nota acima de media foi de %.2f", acimamedia);
    printf ("\n A nota do teceiro aluno foi de %i", i);
}
    
	return 0;
}

 

Link para o comentário
Compartilhar em outros sites

  • Solução

@Noobia Oi, tudo bem? Tenho algumas observações para fazer, de uma conferida:

if (nota [i >= 5])
if (nota[i] >= 5) // esse seria o correto, não?

  Dei uma refatorada na última parte do seu código:

for (int i = 0; i < 20; i++) //começa-se olhando o primeiro elemento(0) da array até o último(19), que são no total os 20 alunos
	{
		if (nota[i] >= media) //confere se a nota daquele aluno é maior ou igual a média, caso seja acrescenta-se na contagem
		{
			acimamedia++;
		}
}		
	//depois de conferir cada nota para ver se é maior ou igual a média, teremos a quantidade de alunos que estão dentro desse requisito.
    printf ("\n A quantidade de pessoas que ficaram com nota acima de media foi de %.2f", acimamedia);
    printf ("\n A nota do teceiro aluno foi de %.2f", nota[2]); //como você deve saber o index começa por 0, então o terceiro aluno está no index 2.
    return 0;
}

As vezes para 'printar' você utiliza o %i(inteiro) com o valor podendo ser decimal, então o correto em alguns casos seria utilizar o float(Acho que 2 casas decimais seria o suficente!): %.2f . Se tiver alguma dúvida é só comentar! Abraços.

  • Obrigado 1
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...