A19861. 签到描述一年一度的程序设计竞赛开始了,吸引了众多学生报名参加,但让主办方头疼的是,每一年都有一些报名学生没有参赛。为了尽快知道有哪些报名的学生没有参加比赛,主办方希望你能帮他们编写一个程序,输出没有参加比赛的学生名单。
填空题
容易
知识点
题目描述
签到
描述
一年一度的程序设计竞赛开始了,吸引了众多学生报名参加,但让主办方头疼的是,每一年都有一些报名学生没有参赛。
为了尽快知道有哪些报名的学生没有参加比赛,主办方希望你能帮他们编写一个程序,输出没有参加比赛的学生名单。
输入格式
第一行两个非负整数M,N(M,N<=100)
此后M行,每行一个报名参赛的学生姓名(由字母、数字和下划线构成,长度不超过20个字符),名单已经排除重名的情况
接着是N行,每行一个到场签名的学生姓名,签名均为报了名的学生,但存在同一学生重复签名的情况
输出格式
按报名顺序输出没有参赛签名的学生名单,一行一个
输入样例
5 3
Smith_Chen
Tom_1
Ming_Xiao
Tu_Dou_Ming
John
Tom_1
Tu_Dou_Ming
Smith_Chen输出样例
Ming_Xiao
John参考答案
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
struct Students{
string name;
bool qd;
}js[102];
int main(int argc, char *argv[])
{
int m,n,i,j;
string str;
cin>>m>>n;
for(i=1;i<=m;i++){
cin>>js[i].name;
js[i].qd=false;
}
for(i=1;i<=n;i++){
cin>>str;
for(j=1;j<=m;j++){
if (js[j].name==str){
js[j].qd=true;
break;
}
}
}
for(i=1;i<=m;i++)
if(js[i].qd==false)
cout<<js[i].name<<endl;
return 0;
}
上一题
下一题