例题2-4 输入未知有几个数据

本文介绍了一种处理未知数量输入的有效方法,特别是在程序无法预知会有多少数据输入的情况下。通过使用特殊的输入终止方式(Enter + Ctrl+z + Enter)来结束输入,并通过读取整行数据到字符串中再进行解析的方式,解决了此类问题。

关键是:问题问的是未知有多少数据,所以测试时不好进行显示,因为enter键并不表示所有数据输入结束!

所以只能采用以下办法:按"enter"    +    "Ctr+z"   +  "enter"即可

以前在做HDOJ等题时用while(cin>>)是因为其为多组数据才这样的,即不知道有几组数据,而不是不知道每组数据有几个值!!!

当然,好像有道题是不知道每组数据有几个值的,即《SJTUOJ 5 AC 圆盘找数》

我的做法是这样的:

这道题的输入相当有意思,他不告诉你一共要输入多少个数

输入
输入有若干行,每一行有若干个整数a1,a2,…,am,(-30000≤a1,a2,…, am ≤ 30000),他们表示一个圆盘上的m个数,(m≤1000)。
输入直到文件输入结束。
友情提示:此题输入数据的方法有些奇特,请考虑清楚。对于数据中有一个空行的情形不算一个Case,请在程序中进行处理,跳过这个空行继续工作!:-)

所以必须细致的进行处理,即先读入一行存储到字符串中,然后对字符串作为源来进行输入操作,将该字符串输入到数组中去

 

 

文件重定向:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值