问题(Question):
用cin.eof()时遇到错误,输入时遇到EOF应该终止程式而不继续运行,但程式却多输出一次,想知道为什么会有错误?
喂入的资料(Input):
0 0 5 10 0 8
0 0 5 10 10 5
预期的正确结果(Expected Output):
Quick in
Nearly
错误结果(Wrong Output):
Quick in
Nearly
Nearly
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
double x1 , x2 , y1 , y2 , r1 , r2 , temp ;
while (!cin.eof())
{
cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2 ;
temp = sqrt (pow (x1 - x2 , 2) + pow (y1 - y2 , 2));
if ((r1 + r2)>=temp)
{
cout << "Quick in" << endl ;
}
else if ((r1 + r2) < temp)
{
cout << "Nearly" << endl ;
}
}
}
http://codepad.org/tnRLqQJK
补充说明(Supplement):
这个程式是在写下面这题
https://toj.tfcis.org/oj/pro/19/