faça um programa na linguagem c, que leia o nome e as distancias saltadas por 10 atletas.Ao final, escreva o nome dos 3 atletas com as melhores distancias,dentre os 10 concorrentes.Desconsiderar possibilidade de empate .
Soluções para a tarefa
Resposta:
typedef struct Atleta{
float dist;
char[50] nome;
}Atleta;
int main ( ){
int i,j;
Atleta atletas[10];
Atleta controle;
for(i = 0; i < 10; i++){
printf("Digite a distância do atleta %d:\n", i);
scanf(" %f", &atletas[i].dist);
printf("Digite o nome desse atleta: \n");
gets(atletas[i].nome);
}
controle = atletas[0];
for(j = 1; j < 9; j++){
//ordena colocando as maiores distancias nas posições iniciais do vetor.
if(controle.dist < atletas[i]){
atletas[i-1] = atletas[i];
atletas[i] = controle;
}
controle = atletas[i];
}
printf("Atletas vencedores:\n %s cuja distancia foi de: %f\n",atletas[0].nome,atletas[0].dist);
printf(" %s cuja distancia foi de: %f\n", atletas[1].nome,atletas[1].dist);
printf("%s cuja distancia foi de: %f\n",atletas[2].nome,atletas[2].dist);
return 0;