#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
",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;
}
要做就做南波万
原文地址:https://www.cnblogs.com/liuziwen0224/p/11992301.html