Dos preguntas sobre programación en C
La función del primer programa (es decir, la función de la función bin) es convertir un número decimal de entrada en una representación binaria. El resultado es 10100;
Ingrese un número entero positivo y continúe realizando operaciones desde 2 hasta el final x/2=0. Para 20, es cuando x=1. bit más alto cuando se convierte a binario, llamadas recursivas continuas, salida del bit más alto al bit más bajo.
Así calculamos a mano al convertir un número decimal en un número binario.
Segunda pregunta: use una matriz de estructura para implementar
//Estructura
#include lt; stdio.hgt;
typedef struct
{
char name[20];
int score[10]; //score[0]--score[3] almacena 4 calificaciones para cada una sujeto
int value; //Puntuación total
}estudiante;
main()
{
int i=0, j=0;
estudiante stu[5];
estudiante temp; //Cantidad de almacenamiento temporal durante la clasificación
for( i= 0; ilt; 5; i )
{
printf("Ingrese el nombre del désimo estudiante\n",
scanf( "d",amp; stu[i].name);
printf("Ingrese la puntuación de la primera materia del estudiante dth\n", i);
scanf( "d",amp;stu[i].score[0]);
printf("Ingrese la puntuación de la segunda materia del estudiante dth\n", i);
p>
scanf("d", amp; stu[i].score[1]);
printf("Ingrese la puntuación de la tercera materia del désimo estudiante\n", i );
scanf("d",amp; stu[i].score[2]);
printf("Ingrese la puntuación de la cuarta materia del désimo estudiante\ n ", i);
scanf("d", amp; stu[i].score[3]);
}
for(i = 0;ilt;5;i )
{
//stu[i].score[4]=stu[i].score[0] puntuación stu[i]. [1] stu[i].score[2] stu[i].score[3];
stu[i].value=stu[i].score[0] stu[i] . puntuación[1] stu[i].score[2] stu[i].score[3];
}
//Ordenar
para ( i=0;ilt;5;i)
{
temp=stu[i];
for(j=i;jlt;5; j )
{
if(stu[j].valuegt;temp.value) //El grande está al frente, el pequeño está detrás
{
estu[i]=stu[j];
stu[j]=temp
}
}
}
//Salida
for(i=0;ilt;5;i)
printf("s, d,d,d , d, d \n", stu[i].nombre, stu[i].puntuación[0], stu[i].puntuación[1], stu[i].puntuación[2], stu[i]. puntuación[3], stu[i].valor
devuelve
}
;