1036. Boys vs Girls

本文介绍了一个简单的C++程序,该程序用于从输入的学生名单中找出分数最低的男生和分数最高的女生,并计算两者之间的分数差距。程序通过结构体来存储学生的姓名、性别、ID和分数,实现了基于性别筛选并更新最高或最低分数的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 1036. Boys vs Girls.cpp: 主项目文件。

#include "stdafx.h"
#include <cstdio>
#include <cstring>

const int INF=103;
struct Node{
	char name[13],gender[3],id[13];
	int scores;
	Node(char *gender){
		if(strcmp(gender,"M")==0)
			scores=INF;
		else
			scores=-INF;
	}
	void update(char *_name,char *_gender,char *_id,int _scores){
		scores=_scores;
		strcpy(name,_name);
		strcpy(gender,_gender);
		strcpy(id,_id);
	}
};

int main()
{
    int n;
	scanf("%d",&n);
	Node needMaleInfo("M"),needFemaleInfo("F");
	for(int i=0;i<n;i++){
		char tName[13],tGender[13],tId[13];
		int tScores;
		scanf("%s%s%s%d",tName,tGender,tId,&tScores);
		if(strcmp(tGender,"M")==0){
			if(tScores<needMaleInfo.scores){
				needMaleInfo.update(tName,tGender,tId,tScores);
			}
		}
		else{
			if(tScores>needFemaleInfo.scores){
				needFemaleInfo.update(tName,tGender,tId,tScores);
			}
		}
	}
	bool tag=true;
	if(needFemaleInfo.scores==-INF)
		tag=false,printf("Absent\n");
	else
		printf("%s %s\n",needFemaleInfo.name,needFemaleInfo.id);
	if(needMaleInfo.scores==INF)
		tag=false,printf("Absent\n");
	else
		printf("%s %s\n",needMaleInfo.name,needMaleInfo.id);
	if(!tag)
		printf("NA");
	else
		printf("%d\n",needFemaleInfo.scores-needMaleInfo.scores);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值