当前位置: 首页 > news >正文

1204. 错误票据

题目:

1204. 错误票据 - AcWing题库

思路: 

将输入的数据存入数组,从小到大排序后遍历,若 (a[i] == a[i - 1])res1 = a[i]--->重号;若(a[i] - a[i - 1] >= 2)res2 = a[i] - 1--->断号。

难点:题目只告诉我们输入几行,且并不知道每行有多少个,因此无法直接将输入数据存入定义好的连续数组。(cin无法处理换行符)

1.针对上述情况,我们可以先用getline(cin,line)将整行数据(包括空格)先存入字符串(string)变量中。再定义字符串流stringstream对象ssin,并将前面读取的line传递给它。

这样,你可以使用ssin来解析和操作字符串中的数据。接下来的循环while (ssin >> a[n])n++;在每次循环中从ssin中读取一个整数,并保存到数组a中。(字符串中的空格也就不会进入数组a[])

代码:

 

#include<iostream>
#include<sstream>//字符串流头文件
#include<algorithm>
#include<string>
using namespace std;
int n;//表示ID号码数量
const int N = 10010;
int a[N];
int main()
{int cnt;//表示行数cin >> cnt;string line;getline(cin, line);//忽略掉第一行的回车while (cnt--) {getline(cin, line);//读入一行数据存入linestringstream ssin(line);//定义一个字符串流对象ssin,初始化为linewhile (ssin >> a[n])n++;//这里的ssin会将其中的整数传出,且不会将空格传入数组a[]中}sort(a, a + n);int res1, res2;for (int i = 1; i < n; i++)if (a[i] == a[i - 1])res1 = a[i];//重号else if (a[i] - a[i - 1] >= 2)res2 = a[i] - 1;//断号cout << res2 << " " << res1;}

特别注意:

使用getline读入一整行时,如果之前写过cin,由于cin中有默认换行,getline会将其也读入,使得字符串类型的变量line的第一个元素是空的。因此,我们需要在读入之前先getline(cin, line)--->忽略掉第一行的回车。(不要问为什么这样写,c++爸爸规定滴)

http://www.lryc.cn/news/227171.html

相关文章:

  • uniapp中在组件中使用被遮挡或层级显示问题
  • windows下安装es及logstash、kibna
  • 华为ensp:rip宣告
  • Django中简单的增删改查
  • HCIE-Rainbow迁移工具
  • AI 绘画 | Stable Diffusion 涂鸦功能与局部重绘
  • [LeetCode周赛复盘] 第 371 场周赛20231112
  • Google Guava Cache LoadingCache 基本使用
  • AWS云服务器EC2实例进行操作系统迁移
  • 《015.SpringBoot+vue之音乐网》【前后端分离】
  • 网格算法和穷举法
  • 【AI】自回归 (AR) 模型使预测和深度学习变得简单
  • 安卓常见设计模式14------单例模式(Kotlin版)
  • 卡尔曼家族从零解剖-(06)一维卡尔曼滤波编程实践
  • macOS使用conda初体会
  • GetPrivateProfileSection使用
  • Ubuntu20.04 安装 Matlab R2021a
  • 让35岁程序员精力充沛的方法
  • 01:2440----点灯大师
  • 初步了解 RabbitMQ
  • Faster-RCNN and Mask-RCNN框架解析
  • 大数据可视化数据大屏可视化模板【可视化项目案例-05】
  • Vue Router active-class 属性
  • Error creating bean with name ‘apiModelSpecificationReader‘ defined in URL
  • CS224W6.2——深度学习基础
  • Linux c/c++服务器开发实践
  • 2023年11月在线IDE流行度最新排名
  • 视频批量剪辑:视频嵌套合并实战指南,剪辑高手速成秘籍
  • 每天一点python——day66
  • 搭建产品帮助中心其实很简单,方法都在这了!