输出有问题
#include <stdio.h>
#include <math.h>
typedef struct {
int a;
int b;
int c;
} cc;
int main() {
int n, j = 0, i = 0, t = 0, z;
// 输入点的数量
scanf("%d", &n);
cc s[n];
// 输入每个点的坐标,并计算到原点的距离
for (i = 0; i < n; i++) {
int x = 0;
scanf("%d %d", &s[i].a, &s[i].b);
x = sqrt(s[i].a * s[i].a + s[i].b * s[i].b);
s[i].c = x;
}
// 冒泡排序,按照到原点的距离从小到大排序
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (s[j].c > s[j + 1].c) {
// 交换两个点的坐标
t = s[j].a;
s[j].a = s[j + 1].a;
s[j + 1].a = t;
z = s[j].b;
s[j].b = s[j + 1].b;
s[j + 1].b = z;
}
}
}
// 输出排序后的点的坐标
for (i = 0; i < n; i++) {
printf("(%d,%d) ", s[i].a, s[i].b);
}
return 0;
}