Hacer un programa o algoritmo que permita mostrar alumnos ordenados por mayor puntaje de promedio.
Solución
- Entrada: Juan 12, lucia 10, alex 16,Sandra 14
- Salida: alex16,Sandra 14,juan 12,lucia 10
#include <stdio.h>
int main(){
char *aux,*n;
int w=0,cont=0,tem,t,p,i,j,k;
printf("ingresa la cantidad de alumnos a ingresar\n");
scanf("%d",&t);
char *Nom[t];
int Prom[t];
for(i=0;i<t;i++){
Nom[i]="";
Prom[i]=0;
}
while(t>cont){
n=(char *) malloc(sizeof(char)*10);
printf("Ingresa nombre\n");
scanf("%s",n);
Nom[cont]=n;
printf("Ingresa nota\n");
scanf("%d",&p);
Prom[cont]=p;
cont++;
}
while(w!=(t-1)){
w=0;
for(k=0;k<(t-1);k++){
if(Prom[k]>=Prom[k+1]){
w++;
}else{
tem=Prom[k];
Prom[k]=Prom[k+1];
Prom[k+1]=tem;
aux=Nom[k];
Nom[k]=Nom[k+1];
Nom[k+1]=aux;
}
}
}
for(j=0;j<t;j++){
printf("Nombre: %s Nota: %d\n",Nom[j],Prom[j]);
}
return 0;
}
1 comentarios:
Hola que tal aun<<?
Publicar un comentario