题目描述:https://pycoder.blog.csdn.net/article/details/125531902
https://blog.csdn.net/weixin_44052055/article/details/123945932
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int res_max;
int isLegal(char *p)
{
return (p[0] == '0' ? 0 : 1);
}
int getDistance(int x, int y)
{
return ((x * x) + (y * y));
}
void coordinatesHandler(char *p, int start, int end, int *x, int *y)
{
char tmp[100] = {0};
char *data;
int xx, yy;
strncpy(tmp, p + start, end - start + 1);
data = strtok(tmp, ",");
if (!isLegal(data)) return;
xx = atoi(data);
data = strtok(NULL, ",");
if (!isLegal(data)) return;
yy = atoi(data);
if (getDistance(xx, yy) > res_max) {
*x = xx;
*y = yy;
res_max = getDistance(xx, yy);
}
}
int main(void)
{
int len;
char str[1000] = {0};
int res_x = 0;
int res_y = 0;
res_max = 0;
gets(str);
len = strlen(str);
int start, end;
for (int i = 0; i < len; i++) {
if (str[i] == '(') {
start = i;
} else if (str[i] == ')') {
end = i;
coordinatesHandler(str, start + 1, end - 1, &res_x, &res_y);
}
}
printf("(%d,%d)\n", res_x, res_y);
return 0;
}