蓝桥杯 历届试题 错误票据C++
思路:
这题的主要难点在于如何输入数据,并将全部数据放在一个数组中,这里采用cin.getline()读取数据,有关带字符串的输入问题,看这个链接https://blog.csdn.net/qq_40659901/article/details/104855002
代码:
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#define ll long long
using namespace std;
int main() {
int T;
cin>>T;
char a[30001];
getchar();//吸收回车
int count=0;
int b[10001]= {0};
while(T--) {
cin.getline(a,10001);
int len=strlen(a);
for(int i=0; i<len; i++) {
while(a[i]!=' '&&i<len)//字符串转换成数字
b[count]=b[count]*10+a[i++]-'0';
count++;
}
}
sort(b,b+count);//排序
int repeat,miss;
for(int i=1; i<count; i++) {
if(b[i]==b[i-1])
repeat=b[i];
if(b[i]-b[i-1]==2)
miss=b[i]-1;
}
cout<<miss<<" "<<repeat<<endl;
return 0;
}