直接按照题意操作即可,可以设一个整数变量表示当前状态(有误、危险、正常)对每个数均检查,或对最值进行检查。注意在存在有误数据时,优先报告这是有误数据,其次才考虑是否有危险数据。
参考代码:
C语言:(对每个数检查的思路)
#include <stdio.h>
int t, state;
double x, avg;
int main()
{
scanf("%d", &t);
while (t--)
{
avg = 0;
state = 0; //若为0,表示正常;若为1,表示error;若为2,表示danger
for (int i = 0; i < 14; ++i)
{
scanf("%lf", &x);
avg += x;
if (x < 36.2 || x > 40.0)
{
state = 1;
}
if (x > 37.2 && state == 0)
{
state = 2;
}
}
avg /= 14;
if (state == 1)
{
printf("error\n");
}
else if (state == 2)
{
printf("danger\n");
}
else
{
printf("%lf\n", avg);
}
}
return 0;
}
Python:(最值思路)
for i in range(int(input())):
x = [float(j) for j in input().strip().split(' ')]
if max(x) > 40.0 or min(x) < 36.2:
print('error')
elif max(x) > 37.2:
print('danger')
else:
print('%f'%(sum(x)/14))