继续分享蓝桥杯的一道题,错误票据

答案来源于蓝桥杯老师
题目内容:某公司一年出票据,票据是连号的,不允许有断开,不允许有重复,数据规模就不说了,那个随便,现在要求如下:
输入一个n代表n行数据
n行中每行不重复,不固定有几个数据,每个数据之间用空格来隔开,最终输出 形式为 两个整数 m,n
m为断开 的数,n为重复的数字。
编码如下

#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#define Max 10000
using namespace std;
int line;
int data[Max];
void change(string &str,int &num)
{
   stringstream ss;
   ss<<str;
   ss>>num;
}
int main()
{
	cin>>line;
	getchar();//用来接收换行符,使新的数据变道下一行
	int index=0;//数组的下标
	for(int i=0;i<line;++i)
	{
		  string s;
		getline(cin ,s);//getline(cin,s),s需要是string,需要引入string头文件,std::string空间引入
		istringstream  iss(s);
		string tmp;
		while(getline(iss,tmp,' '))//getline(<字符数组chs>,<读取字符的个数n>,<终止符>)
			{
				change(tmp,data[index++]);
			
			}	
	}
	sort(data,data+index);
    int a,b;
	for( i=1;i<index;++i)
	{
	   if(data[i]==data[i-1]+2)
		   a=data[i]-1;
	    if(data[i]==data[i-1])
			b=data[i];
	}
	cout<<a<<" "<<b<<endl;
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晨里的无聊人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值