写在前面
- 实现思路
- 结构体封装学生元信息,试机座位号作为下标
- long long 处理准考证号(16 位数字),也可用string
- 题目较为简单,熟练情况下10分钟a题
测试用例
input:
4
3310120150912233 2 4
3310120150912119 4 1
3310120150912126 1 3
3310120150912002 3 2
2
3 4
output:
3310120150912002 2
3310120150912119 1
ac代码
- C语言版
long long
#include<cstdio>
const int maxn = 1010;
struct Student
{
long long id;
int examSeat;
} testSeat[maxn];
int main()
{
int n, m, seat, examSeat;
long long id;
scanf("%d", &n);
for(int i=0; i<n; i++)
{
scanf("%lld%d%d", &id, &seat, &examSeat);
testSeat[seat].id = id;
testSeat[seat].examSeat = examSeat;
}
scanf("%d", &m);
for(int i=0; i<m; i++)
{
scanf("%d", &seat);
printf("%lld %d\n", testSeat[seat].id, testSeat[seat].examSeat);
}
return 0;
}
- C++版
string
···个人尝试···
#include<iostream>
using namespace std;
const int maxn = 1010;
struct Student
{
string id;
int examSeat;
} testSeat[maxn];
int main()
{
int n, m, seat, examSeat;
char id[16];
scanf("%d", &n);
for(int i=0; i<n; i++)
{
scanf("%s%d%d", id, &seat, &examSeat);
testSeat[seat].id = id;
testSeat[seat].examSeat = examSeat;
}
scanf("%d", &m);
for(int i=0; i<m; i++)
{
scanf("%d", &seat);
printf("%s %d\n", testSeat[seat].id.c_str(), testSeat[seat].examSeat);
}
return 0;
}
参考代码
- C++ string 二维数组版···值得参考···
#include <iostream>
using namespace std;
int main() {
string stu[1005][2], s1, s2;;
int n, m, t;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> s1 >> t >> s2;
stu[t][0] = s1;
stu[t][1] = s2;
}
cin >> m;
for(int i = 0; i < m; i++) {
cin >> t;
cout << stu[t][0] << " " << stu[t][1] << endl;
}
return 0;
}