A1036 Chicos vs Chicas (25) 分

1036 Chicos vs Chicas (25) 分

Esta vez se le pide que diga la diferencia entre el grado más bajo de todos los estudiantes de sexo masculino y el grado más alto de todos los estudiantes de sexo femenino.

Especificación de entrada:

Cada archivo de entrada contiene un caso de prueba. Cada caja contiene un número entero positivo N, seguido de N líneas de información del estudiante. Cada línea contiene el nombre del estudiante, género, ID y grado, separadas por un espacio, donde nombre y ID son cadenas de no más de 10 caracteres, sin espacio, el género es F (hembra) o M (hombre), y el grado es un número entero entre 0 y 100. se garantiza que todos los grados son distintos.

Especificación de la salida:

Para cada caso de prueba, la salida en 3 líneas. La primera línea da el nombre y el ID del estudiante con el más alto grado, y la segunda línea da la del estudiante masculino con el grado más bajo. La tercera línea da la diferencia de grado
F -Grado M Si un tal tipo de estudiante no está presente, la salida Ausente en la línea correspondiente, y la salida de NA en la tercera línea en su lugar.

Ejemplo de entrada 1:

3
Joe M Math990112 89
Mike M CS991301 100
Mary F EE990830 95

Salida de muestra 1:

María EE990830
Joe Math990112
6

Ejemplo de entrada 2:

1
Jean M AA980920 60

Salida de muestra 2:

Ausente
Jean AA980920
NA

solución:

  • Encuentra las mayores puntuaciones de las mujeres. Y las puntuaciones varones más pequeños. Y la salida en el formato.
#include <string>
#include <iostream>
using namespace std;
struct People{
	string name;
	string couse;
	int grade;
}temp,female,male;
int main(){
	int n;
	cin >> n;
	female.name="";female.grade=0;
	male.name="";male.grade=101;
	string sex;
	while(n--!=0){
		cin>>temp.name >> sex >> temp.couse >>temp.grade;
		if(sex=="M"&&temp.grade<male.grade){
			male.name=temp.name;
			male.couse=temp.couse;
			male.grade=temp.grade;
		}else if(sex=="F"&&temp.grade>female.grade){
			female.name=temp.name;
			female.couse=temp.couse;
			female.grade=temp.grade;
		}
	}
	if(female.name==""){
		cout << "Absent" <<endl;
	}else cout << female.name <<" " <<female.couse <<endl;
	if(male.name==""){
		cout << "Absent" <<endl;
	}else cout <<male.name <<" "<< male.couse << endl;
	
	if(female.name==""||male.name==""){
		cout << "NA" ; 
	}else cout << female.grade-male.grade; 
	return 0;	
}
Publicado 91 artículos originales · ganado elogios 9 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/WeDon_t/article/details/105300891
Recomendado
Clasificación