题目描述
班主任拿到了一份名单,请为他统计班上男同学和女同学的人数和人员名单
输入格式第一行包含1个整数n(1<=n<=100),表示学生的人数。接下来的n行,每行包括一个整数x(0<=x<=100)和一个字符y,整数代表学生的学号,字符代表学生的性别,a代表男,b代表女.
输出格式输出包括四行,第一行为男生的人数,第二行为男生的学号,排列顺序为输入顺序,每个数据中间通过空格隔开
第三行为女生的人数,第四行为女生的学号,排列顺序为输入顺序,每个数据中间通过空格隔开
样例输入 #1
5
1 a
2 b
3 a
4 a
5 b
输出 #1
3
1 3 4
2
2 5
数据范围与提示
分类标签
[一维数组]
C++题解代码
#include <bits/stdc++.h>
using namespace std;
int a[101];
char b[101];
int c;
int d;
bool e;
// The main procedure
int main() {
cin>>c;
d = 0;
for (int i = 1; i <= c; i++) {
cin>>a[i];
cin>>b[i];
if (b[i] == 'a') {
d++;
}
}
cout<<d;
cout<<'\n';
e = true;
for (int i = 1; i <= c; i++) {
if (b[i] == 'a') {
if (e) {
e = false;
} else {
cout<<" ";
}
cout<<a[i];
}
}
cout<<'\n';
d = (c-d);
cout<<d;
cout<<'\n';
e = true;
for (int i = 1; i <= c; i++) {
if (b[i] == 'b') {
if (e) {
e = false;
} else {
cout<<" ";
}
cout<<a[i];
}
}
return 0;
}
Blockly题解代码图片