我的PAT-BASIC代码仓:https://github.com/617076674/PAT-BASIC
原题链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805293282607104
题目描述:
知识点:字符串比较
思路:一读取一个记录,就立即更新最年长者和最年轻人
字符串的比较规则和本题的出生日期比较规则相吻合,可以直接用字符串的compare函数进行比较。
C++代码:
#include<iostream>
#include<string>
using namespace std;
int main() {
int count;
cin >> count;
string oldName;
string oldAge;
string youngName;
string youngAge;
string name;
string age;
string standardAge1 = "1814/09/06";
string standardAge2 = "2014/09/06";
int num = 0;
int index = 0;
while (true) {
cin >> name >> age;
index++;
if (age.compare(standardAge1) >= 0 && age.compare(standardAge2) <= 0) {
num++;
oldName = name;
oldAge = age;
youngName = name;
youngAge = age;
break;
}
if (index == count) {
cout << num;
return 0;
}
}
for (int i = index; i < count; i++) {
cin >> name >> age;
if (age.compare(standardAge1) >= 0 && age.compare(standardAge2) <= 0) {
num++;
if (age.compare(oldAge) < 0) {
oldName = name;
oldAge = age;
}
if (age.compare(youngAge) > 0) {
youngName = name;
youngAge = age;
}
}
}
cout << num << " " << oldName << " " << youngName;
}
C++解题报告: