#2019110700005

大意

给定\(A,B,C\),其中每个时速满足\(A \leq v \leq B\),如果不满足则记作超速,共有\(C\)个时速,其中有\(F\)个超速,如果\(\frac {F}{C}>10\%\),则输出“\(broken\)”,否则输出未超速的速度的平均值,保留4位小数.

思路

模拟

注意

不要用样例里的数据!!!!!!

不要瞎用define!!!!!!!!

结构体做法

#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#define file(s) freopen(s".in","r",stdin);freopen(s".out","w",stdout);
#define dn(s) s+1+s+2+3
#define jiangui cnt=0;
using namespace std;
int A,B,C;
int jiangui
//int sta[405];
struct s{
	int s;
	int u;
}sta[405];
int tot=0;
int cnnnnt;
int main(){
//	freopen("radar.in","r",stdin);
//	freopen("radar.out","w",stdout);
	file("radar");
	scanf("%d%d%d",&A,&B,&C);
	for(int i=1;i<=C;i++){
		scanf("%d",&sta[i].s);
	}
	for(int i=1;i<=C;i++){
		if(sta[i].s>B||sta[i].s<A){
			sta[i].u=0;
			cnt++;
		}
		else{
			sta[i].u=1;
		}
	}
	if(double(cnt)*1.0/double(C)>0.1){
		printf("broken");
		return 0;
	}
	else{
		for(int i=1;i<=C;i++){
			if(sta[i].u!=0){
				tot+=sta[i].s;
				cnnnnt++;
			}
		}
	}
	printf("%.4lf",tot*1.0/cnnnnt);
//	for(int j=1;j<=C;j++){
//		printf("%d\n",sta[j]);
//	}
	return 0;
}

数组做法

#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
int A,B,C;
int cnt=0;
int sta[405];
int tot=0;
int cnnnnt;
int main(){
//	freopen("radar.in","r",stdin);
//	freopen("radar.out","w",stdout);
	scanf("%d%d%d",&A,&B,&C);
	for(int i=1;i<=C;i++){
		scanf("%d",&sta[i]);
	}
	for(int i=1;i<=C;i++){
		if(sta[i]>B||sta[i]<A){
			cnt++;
		}
	}
	if(cnt*1.0/C>0.1){
		printf("broken");
		return 0;
	}
	else{
		for(int i=1;i<=C;i++){
			if(sta[i]>=A&&sta[i]<=B){
				tot+=sta[i];
				cnnnnt++;
			}
		}
	}
	double s;
	s=tot*1.0/cnnnnt;
	printf("%.4lf",s);
	return 0;
}
posted @ 2019-12-05 22:02  刘子闻  阅读(100)  评论(0编辑  收藏  举报