文章
43
粉丝
24
获赞
293
访问
6.6k
在本题中,学号可能包含前导零(例如输入样例中的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...
登录后发布评论
暂无评论,来抢沙发