记录编号 589524 评测结果 WWWWWWWWWW
题目名称 学生成绩管理系统 最终得分 0
用户昵称 Gravatar花火 是否通过 未通过
代码语言 C++ 运行时间 0.000 s
提交时间 2024-07-06 14:48:07 内存使用 0.00 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
struct student{
    int id;
    int score;
};
int n;
student stu[2020];
void print(){
    cout<<n<<endl;
    for(int i=1;i<=n;i++){
        cout<<stu[i].id<<" "<<stu[i].score<<endl;
    }
}
void search(int id){
    int p=0;
    for(int i=1;i<=n;i++){
        if(stu[i].id==id){
            p=i;
        }
    }
    if(p==0)cout<<"no"<<endl;
    else cout<<stu[p].id<<" "<<stu[p].score<<endl;
}
void insert(int p,int id,int score){
    if(p<0||p>n){
        cout<<"out"<<endl;
        return;
    }
    int k=0;
    for(int i=1;i<=n;i++){
        if(stu[i].id==id){
            k=i;
        }
    }
    if(k!=0){
        cout<<"dup"<<endl;
        return;
    } 
    for(int i=n;i>=p+1;--i){
        stu[i+1]=stu[i];
    }
    stu[p+1].id=id,stu[p+1].score=score;
    n=n+1;
}
void del(int id){
	int i;
	for(int j=1;j<=n;j++)
	{
		if(id==stu[j].id)
			i=stu[j].id;
	}
			
	for(int j=i;j<n;j++)
	{
		stu[j].id=stu[j+1].score;
		stu[j].score=stu[j+1].score;
	}
	n--;
}
int main(){
    freopen("linet.in", "r", stdin);
    freopen("linet.out", "w", stdout);  
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>stu[i].id>>stu[i].score;
    }
    int m;
    cin>>m;
    for(int i=1;i<=m;i++){
        int op;
        cin>>op;
        if(op==1){//查找 
            int czlx;
            cin>>czlx;
            if(czlx==0)print();//输出所有 
            else if(czlx==1){
                int id;
                cin>>id;
                search(id);//查找单人 
            }
        }
        else if(op==2){//插入 
            int x;
            cin>>x;
            for(int j=1;j<=x;j++){
                int pos,id,score;
                cin>>pos>>id>>score;
                insert(pos,id,score);//插入一个信息 
            }
        }
        else if(op==3){//删除 
            int y;
            cin>>y;
            int flag=0;
            for(int j=1;j<=y;j++){
                int id;
                cin>>id;
                if(stu[j].id==id){
                del(id);
                flag=1;//删除对应学号的信息 
                }
            }
            if(!flag)
            cout<<"error";
        }
    }
    return 0;
}