Escreva um algoritmo em C que:
a) leia 100 fichas, onde cada ficha contém o número de matrícula e a nota de cada aluno de um determinado curso;
b) determine e imprima as duas maiores notas, juntamente com o número de matrícula do aluno que obteve cada uma delas;
c) Suponha que não exista dois ou mais alunos com a mesma nota
ALGUÉM PODERIA ME AJUDAR?!!!
Soluções para a tarefa
Respondido por
1
Resposta:
#include <stdio.h>
#include <string.h>
int main(){
int i,pos=0,pos2=0;
float ma=0.0,ma2=0.0;
for(i=0;i<100;++i){
int id;
float nota;
printf("Digite o número da matrícula do aluno %d:\n",i+1);
scanf("%d",&id);
printf("Digite a nota do aluno %d:\n",i+1);
scanf("%f",¬a);
if(nota>ma){
ma2=ma;
pos2=pos;
ma=nota;
pos=id;
}
else if(nota>ma2){
ma2=nota;
pos2=id;
}
}
printf("O aluno com maior nota é: %d\nCom nota: %f\nO aluno com a segunda maior nota é: %d\nCom nota: %f\n",pos,ma,pos2,ma2);
}
Explicação:
bologordo13:
Só tem uma coisa no final quando ele exibi a frase "o aluno com a maior nota é" ao invés de aparecer o número de matricula, está aparecendo 0, você sabe o porque?
Perguntas interessantes
Português,
7 meses atrás
Química,
7 meses atrás
Matemática,
7 meses atrás
Matemática,
10 meses atrás
Direito,
1 ano atrás
Geografia,
1 ano atrás
Biologia,
1 ano atrás