这一题更简单了,求点是否在圆上,直接看离圆心的距离是否等于半径即可
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main (int argc, char* argv[])
{
ifstream file;
string lineBuffer;
file.open(argv[1]);
while (!file.eof()) {
getline(file, lineBuffer);
if (lineBuffer.length() == 0)
continue; //ignore all empty lines
else {
double centerX, centerY, radius, pointX, pointY;
double x, y;
sscanf(lineBuffer.c_str(), "Center: (%lf, %lf); Radius: %lf; Point: (%lf, %lf)",
¢erX, ¢erY, &radius, &pointX, &pointY);
x = pointX - centerX;
y = pointY - centerY;
if(x*x + y*y - radius*radius < 0.01)
cout << "true" << endl;
else
cout << "false" << endl;
}
}
return 0;
}