Ir ao conte√ļdo
  • Cadastre-se
Noobia

C RESOLVIDO Nota acima da media com vetor

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;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publica√ß√Ķes 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...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

EBOOK GR√ĀTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!