ACM比赛中的一个简单问题。。。输入输出把我难住了!

vn198651 2008-10-27 01:40:37
Problem Description
Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).

In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.



Input
The input will consist of a series of integers n, one integer per line.



Output
For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.



Sample Input
1
100


Sample Output
1

5050

输入的时候怎么在输入1按回车后不让程序执行,而继续读入第二个数据?
如果回车不能用来标识程序结束的话,怎么让程序知道我输入了所有测试数据开始执行程序?
因为程序是在线提交的,所以必须严格遵守它的输入格式,想不明白了。。。
问题原地址在这里:
http://acm.hdu.edu.cn/showproblem.php?pid=1001
提交能通过的大虾们给讲解讲解,感激不尽!
...全文
675 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vn198651 2008-10-27
  • 打赏
  • 举报
回复
while ( cin >> N ) // 注意这里的条件,当服务器测试数据结束的时候,这里也会退出循环。


这句实用啊,我确实没有想到测试数据是有穷的。。。

jiannye 2008-10-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 anglecloudy 的回复:]
那就不用回车撒,晕。用个字符,比如当你输入了个'q'就退出,很多程序不都这么搞??
或者你程序设计时,先让用户输入数据个数,再来个for循环,如果超过个数就执行,方法很多呀??
[/Quote]

还是推荐用Java去实现 有hasNext。。函数可用 蛮好的
sc_valentine21 2008-10-27
  • 打赏
  • 举报
回复
你可以这么做,建一个数组,用来保存结果,同时记录结果数,最后再输出来。(我以前这么做过)
其实大可不必这么多,ACM对于输入一组出个结果也是对的。5楼那么做就可以了。
lab17 2008-10-27
  • 打赏
  • 举报
回复
学习了..
lsldd 2008-10-27
  • 打赏
  • 举报
回复
呵呵,我做了几年ACM了,很多新手都不理解数据输入。其实是这样的。
ACM服务器是从文本中自动进行数据输入的。你只要处理好输入结束条件即可。
所以平时做ACM的时候,你的程序应该写成这样:
#include <iostream>
using namespace std;
int main()
{
int N;
while ( cin >> N ) // 注意这里的条件,当服务器测试数据结束的时候,这里也会退出循环。
{
int sum = 0;
for ( int i = 1; i <= N; i++)
sum += i;
cout << sum << endl;
}
return 0;
}

如果你要在自己的机器上面调试程序,可以这样,以VC6为例:
打开工程属性,在debug选项卡里,在program argument栏里输入
<<1.txt
然后,在工程目录下面新建一个1.txt文件,文件内容就是数据输入,如:
1
100

这样就可以完成自动数据输入了,和服务器的处理类似了。
sxsong_04 2008-10-27
  • 打赏
  • 举报
回复
没有这个必要,不会判你错
vn198651 2008-10-27
  • 打赏
  • 举报
回复
人为设置特定的程序结束提示是不行的
你把程序提交到服务器上汇编的时候,机器又不会去读你的程序,它不会知道特定输入什么字符来结束程序的
所以必须符合它的要求输入模式:
每行一个数据

你看看前面的问题要求就知道了。
OenAuth.Net 2008-10-27
  • 打赏
  • 举报
回复
那就不用回车撒,晕。用个字符,比如当你输入了个'q'就退出,很多程序不都这么搞??
或者你程序设计时,先让用户输入数据个数,再来个for循环,如果超过个数就执行,方法很多呀??
帅得不敢出门 2008-10-27
  • 打赏
  • 举报
回复
acm很热啊

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧