您的位置:首页 > 汽车 > 新车 > 专业网页制作软件都能帮助用户组织和管理_网络推广软件技巧_建站系统哪个好_微信推广软件

专业网页制作软件都能帮助用户组织和管理_网络推广软件技巧_建站系统哪个好_微信推广软件

2025/2/9 9:06:28 来源:https://blog.csdn.net/2302_79431881/article/details/144788483  浏览:    关键词:专业网页制作软件都能帮助用户组织和管理_网络推广软件技巧_建站系统哪个好_微信推广软件
专业网页制作软件都能帮助用户组织和管理_网络推广软件技巧_建站系统哪个好_微信推广软件

题目链接: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;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com