解题思路:
1.先将可能的情况列出,根据分类确定计算的方式;
示例代码:
#include <stdio.h>
#define N 8
int main(void)
{
int i = 0 , j = 0 , k = 0;
double num[N] = {0} , tmp[N] = {0};
double area = 0 , x = 0 , y = 0 ;
for (i = 0 ; i < N ; i ++)
{
scanf("%lf",&num[i]);
tmp[i] = num[i];
}
for (i = 0 ; i < N ; i += 2)
{
k = i;
for (j = i+2 ; j < N ; j += 2)
{
if (num[k] > num[j])
{
k = j;
}
}
if (k != i)
{
x = num[i] , y = num[i+1];
num[i] = num[k] , num[i+1] = num[k+1];
num[k] = x , num[k+1] = y;
}
}
if (num[2] == tmp[2] && num[4] == tmp[4] ||
num[2] == tmp[6] && num[4] == tmp[0])
{
area = 0;
}
else
{
area = (num[2]-num[4])*(num[3]-num[5]);
}
if (area < 0)
{
area = -area;
}
printf("%.2f",area);
return 0;
}