对于不给数量n的编程题,该如何读一行数据(C++)
2018-03-28 22:56
288 查看
应该是我做的题太少了,今天遇到的笔试题是不给要输入的数据量n的,因此要直接读一整行进行处理,我有两种方法,一个是使用getline(cin, str), 另一种就是getchar()一个个字符读了,相对而言,后一种更稳定更自由。具体参考代码如下:
1.问题描述:读入1 -2 3 4 5这样一行的数据string line;
getline(cin, line) ;
istringstream(line);
2.问题描述:读入2, -3, 4, 11, -5, 8, 3, -6(注意逗号)vector<int> v;
char c;
bool isbegin = false;
ostringstream os;
int num;
while(c = getchar() ) {
if(c == '\n' || c == '\t') {
isbegin = false;
istringstream in(str);
in >> num;
v.push_back(num);
break;
}
if(isbegin) {
if(c == ',' || c == ' ') {
str = os.str();
os.clear();
os.str("");
isbegin = false;
istringstream in(str);
in >> num;
v.push_back(num);
}
else {
os << c;
}
}
else {
if(c == '-' || isdigit(c) ) {
os<<c;
isbegin = true;
}
}
}
1.问题描述:读入1 -2 3 4 5这样一行的数据string line;
getline(cin, line) ;
istringstream(line);
2.问题描述:读入2, -3, 4, 11, -5, 8, 3, -6(注意逗号)vector<int> v;
char c;
bool isbegin = false;
ostringstream os;
int num;
while(c = getchar() ) {
if(c == '\n' || c == '\t') {
isbegin = false;
istringstream in(str);
in >> num;
v.push_back(num);
break;
}
if(isbegin) {
if(c == ',' || c == ' ') {
str = os.str();
os.clear();
os.str("");
isbegin = false;
istringstream in(str);
in >> num;
v.push_back(num);
}
else {
os << c;
}
}
else {
if(c == '-' || isdigit(c) ) {
os<<c;
isbegin = true;
}
}
}
相关文章推荐
- Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义
- 关于C++/C 输入一行整型数据,数量不定问题,如何读入
- python xlwt,xlutils 在excel里面如何插入一行数据
- 如何在oracle钟删除所有列值相同的两行数据中的一行
- PB中如何用鼠标单击选中数据窗口中的一行?
- FPGA verilog的编程心得---如何写代码减少逻辑单元的使用数量?
- SQL Server中如何定位Row Lock锁定哪一行数据
- CGI编程入门,对于如何进入 CGI;linux_CGI编程
- c#如何把一行数据插入到datatable里面去?
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?
- VB编程如何态改变数据环境动的数据库链接
- wordpress :如何以编程方式插入数据
- 网络编程(五) 阻塞套接字如何非阻塞接收数据
- 每一天都有更多的数据、用户和应用在加入Apache Hadoop这个日益壮大的集群中来。虽然对于整个数据驱动的组织来说这是一个好消息,但对于安全管理员和监察人员来说,如何让终端用户在现存的Hadoop
- sqlserver中,如何把一列中的多行数据在一行显示
- 程序员如何做到『编程速度又快,Bug 数量又少』?
- WCF热门问题编程示例(5):WCF服务如何获取客户端在线用户数量?