Red de conocimiento informático - Conocimiento sistemático - El código para una pregunta de programación (hay que hacer cola para ver a un médico) debe responderse en lenguaje C. Cuanto más básico y fácil de entender, mejor.

El código para una pregunta de programación (hay que hacer cola para ver a un médico) debe responderse en lenguaje C. Cuanto más básico y fácil de entender, mejor.

struct BR_ //Estructura del paciente

{

int id; //ID del paciente

int lv; nivel;

};

int main()

{

int n, i, j, yisheng, binglv, brnum = 0;

BR_ b2y[3][100] = {}; //Almacenar los pacientes correspondientes a cada médico;

int bingnum[3] = {}; el número de pacientes correspondientes a cada médico;

char order[5];

//Aquí puedes guardar todas las cadenas de entrada y resolverlas una por una pero Tu código original; es ingresar y procesar uno por uno;

//Entonces también ingreso y proceso uno por uno;

//Pero el significado de la pregunta es: después de completar la entrada , salida en secuencia;

//Por lo tanto, solo puede almacenar las cosas que se van a generar en una matriz (la matriz a continuación espera a que se complete la entrada y luego envíelas en secuencia

char print_[300] [8] = {}; // Se utiliza para almacenar la última cadena impresa; cada salida debe procesarse;

int str_num = 0; ;

scanf("d",amp;n);

for(j = 0; j lt; n; j)

{

scanf ("s", orden);

if(strcmp(order, "IN") == 0 ) // Comparación de cadenas, si la entrada es IN,

{

brnum = 1;

scanf("d",amp;yisheng);

scanf("d",amp;binglv);

BR_ temp;

temp.id = brnum;

temp.lv = binglv;

b2y[ yisheng ][ bingnum[yisheng ] ] = temp ;

bingnum[yisheng] ;

//Ordenar; Ponga los de mayor clasificación al frente; preste atención al uso de un método de clasificación estable, como el siguiente tipo de selección; ;

int pos = 0;

mientras(pos != n - 1)

{

for(i = pos 1 ; p>{

BR_ temp1 = b2y[yisheng][pos];

b2y[yisheng][pos] = b2y[yisheng][i];

b2y[yisheng][ i] = temp1;

}

}

pos;

}

}

else if( strcmp(order, "OUT") == 0) //

{

scanf("d", amp; yisheng );

if(bingnum[yishen

g] lt; = 0) //Si el paciente actual de este médico es 0, salida vacía;

strcpy(print_[str_num], "EMPTY");

else / /No 0; la salida ocupa el primer lugar (es decir, el paciente con el nivel más alto);

{

char temp;

itoa(b2y[yisheng] ][0] .id, print_[str_num], 10);

//El primer paciente ha sido procesado, por lo que los elementos en la parte posterior de la matriz avanzan en secuencia;

for(i = 0; i lt; bingnum[yisheng] - 1; i)

{

b2y[yisheng][i] = b2y[yisheng][i 1];

}

bingnum[yisheng]--;//El número de pacientes está disminuyendo;

}

}

}

p>

for(i = 0; i lt; str_num; i)

printf("s\n", print_[i]) ;

devuelve 0;

}