当前位置: 首页 > article >正文

洛谷P5266 【深基17.例6】学籍管理(c嘎嘎)

题目链接:P5266 【深基17.例6】学籍管理 - 洛谷 | 计算机科学教育新生态

题目难度:普及/提高

解题思路:本题会map就是一道简单题,也可以当作map的练手题帮助熟悉map的操作

本题需要用到map的以下几个操作:

a.count(x)判断x为下标的元素是不是在a中,是就返回1,不是就返回0
a.erase(x)删除a中x为下标的元素
a.size()返回a中元素的个数
a.clear()清空a

下面直接奉上代码部分:

#include<bits/stdc++.h>
using namespace std;	
#define _for(i,a,b) for(int i=(a); i<(b); i++)
#define _rep(i,a,b) for(int i=(a); i<=(b); i++)
typedef long long ll;
const int N = 1010;
map<string,int>mp;//定义一个string(姓名)到int(分数)的map
string name;//学生姓名 
int score; //学生分数 
int n,op; //操作种类
 
int read()//快读函数 
{
    int k=0,f=1;
	char ch=getchar();
    while(ch<'0'||ch>'9')
	{
		if(ch=='-')
			f=-1;
		ch=getchar();
	}
    while(ch>='0'&&ch<='9')
	{
		k=k*10+ch-'0';
		ch=getchar();
	}
    return k*f;
}

int main()
{
//	ios::sync_with_stdio(false);
//	cin.tie(nullptr),cout.tie(nullptr);
	
	n = read();
	
	while(n--)
	{
		op = read();
		if(op == 1)//操作1 
		{
			cin >> name,score = read();
			mp[name] = score;//map的对应关系,把名字和分数对应起来
			puts("OK");
		}
		else if(op == 2)//操作2:查询学生
		{
			cin >> name;
			if(!mp.count(name)) puts("Not found");//找不到
		    else cout<<mp[name]<<'\n';;//如果找得到输出对应的分数
		}
		else if(op == 3)//操作3:删除学生
		{
			cin >> name;
			if(!mp.count(name)) puts("Not found");
			else 
			{
				mp.erase(name);
				puts("Deleted successfully");//成功删除
			}
		}
		else//操作4:学生人数
		{
			cout<<mp.size()<<'\n';
		}
		
		
	}
	
    return 0;
}


http://www.kler.cn/a/456775.html

相关文章:

  • NLP基础知识 - 向量化
  • 解决springdoc-openapi-ui(Swagger3)跳转默认界面问题
  • VuePress搭建个人博客
  • MySQL系列之数据类型(String)
  • 深入理解MemCache
  • 【JAVA】Java常用注解汇总
  • 每天五分钟机器学习:凸函数
  • 清空DNS 缓存
  • 5.银河麒麟V10(ARM) 离线安装redis
  • 网易企业邮箱登陆:保障数据安全
  • Linux Shell : Process Substitution
  • 【每日学点鸿蒙知识】userAgent识别问题、StatusBar颜色、taskpool中操作同一个对象、scroll组件
  • Hive练习题11-15
  • 【数据库初阶】Linux中库的基础操作
  • Spark SQL DML语句
  • 数据结构与算法Python版 图
  • 【论文阅读】Reducing Activation Recomputation in Large Transformer Models
  • 渗透测试中常见的端口
  • springboot508基于Springboot宠物商城网站系统(论文+源码)_kaic
  • 常用的前端框架有哪些
  • MySQL数据库函数——日期函数
  • Spring Boot自定义注解获取当前登录用户信息
  • ChatGPT 搜索工具被曝存在安全漏洞
  • Linux高级--2.4.5 靠协议头保证传输的 MAC/IP/TCP/UDP---协议帧格式
  • 编程初学者使用 MariaDB 数据库反射生成二
  • 租赁小程序成品|租赁系统搭建核心功能