第一眼看到时以为要用结构体……
(其实二维数组就能解决 + 感觉二维数组比结构体简单)
正文
要注意的几点:
循环时,不能自己和自己比,所以第二个变量要从第一个变量i+1 开始。
两数相减,可能会减出负数,所以需要 abs。
#include<stdio.h>
#include<math.h>
int main()
{
int i, n, k = 0,j;
scanf("%d", &n);
int arr[1000][3] = { 0 };
for ( i = 0; i <n; i++)
{
scanf("%d%d%d", &arr[i][1], &arr[i][2], &arr[i][3]);
}
for ( i = 0; i <n; i++)
{
for ( j = i+1; j <n; j++)
{
int a = abs(arr[i][1] - arr[j][1]);
int b = abs(arr[i][2] - arr[j][2]);
int c = abs(arr[i][3] - arr[j][3]);
int x = abs((arr[i][1] + arr[i][2] + arr[i][3]) - (arr[j][1] + arr[j][2] + arr[j][3]));
if (a <= 5 && b <= 5 && c <= 5 && x <= 10)
k++;
}
}
printf("%d", k);
return 0;
}