【模拟】桐桐的雷达

题目:

桐桐在去广州的路上,对高速公路上的测速雷达产生了兴趣,于是开始研究有关知识,发现在设计测速雷达时有这样一个计算问题:
一个测速雷达都有一个最高限速和一个最低限速。如果探测到的数据超过最高限速或低于最低限速,都认为驾驶员是违规的。
为了检测探测器是否正常工作,雷达自身要周期性的分析一下最近的数据。假设多数驾驶员遵守交通规则,因此如果有超过10%的数据是违规的,则认为探测器可能出了问题。
现在根据给定的数据,计算合法速度的平均值。如果你判断是探测器坏了,则输出0.0。


输入:

第一行3个整数A,B,C(1≤A≤200,A≤B≤200,1≤C≤50)。分为为最低限速和最高限速以及探测到的数据个数。后面一行有C个要分析的数据。


输出:

只有一行,为计算的结果(保留一位小数)。


样例输入:

1 50 10
42 43 44 45 46 47 48 49 50 51

样例输出:

46.0

思路:

模拟,就是给你个范围,看每个数的大小是不是在这个范围内,如果在就累加这个数,不在就用个变量++,最后看是不是探测器坏了就可以了,整体比较简单。


C o d e Code Code

#include
#include
using namespace std;
long check,a,b,c,h,ans;
int main()
{
	scanf("%d%d%d",&a,&b,&c);
	for(int i=1;i<=c;i++)
	{
	  scanf("%d",&h);
	  if(h<a||h>b)//不在范围内
	  check++;//不在的++
	  else//否则累加在范围内的
	    ans+=h;
	  
    }
     if(check>c*0.1)//探测器坏了
	  {printf("0.0");return 0;}
    else
    printf("%.1f",(double)ans/(c-check));//没坏,正常输出平均值
}

你可能感兴趣的:(模拟)