文章

43

粉丝

24

获赞

293

访问

6.6k

头像
查找学生信息2 题解:解释id只能用string类型的原因(超清晰,丁真看了都要抽一根瑞克五代)
P1476 清华大学机试题
发布于2025年2月9日 12:23
阅读数 294

在本题中,学号可能包含前导零(例如输入样例中的01,02)。如果使用int类型存储学号,这些前导零会被自动去除,导致以下问题:

学号唯一性被破坏
例如,学号01和001用int存储时都会变成1。这会导致不同学号被误认为相同,从而覆盖数据或错误匹配。

输入输出格式不一致
题目要求输出的学号必须与输入一致(如02而非2)。用int类型无法保留前导零,导致输出格式错误。

#include <bits/stdc++.h>
using namespace std;
struct student{//类型 
    string id;
    string name;
    string sex;
    int age;
};
int main(){ 
    map<string,student>m; 
    int n;//学生个数
    cin>>n;
    int i;
    for(i=0;i<n;i++){
        student a;
        cin>>a.id>>a.name>>a.sex>>a.age; 
        m[a.id]=a;//键值对插入map 
    } 
    int M;
    while(cin>>M){//M次查询
    for(i=0;i<M;i++){
    &nbs...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发