WZOI-348机动车违章识别系统

发布于:2022-12-15 ⋅ 阅读:(502) ⋅ 点赞:(0)

题目描述:

随着机动车数量的增长, 一些城市为了缓解交通压力, 采取了错峰限行的措施。 错峰限行, 即划定区域在工作日的上下班高峰时段内, 禁止挂有外地车牌和车牌尾号是某些数字的本地车牌的车辆行驶。 某城市( 车牌城市代码为某B )在工作曰的 7:00—9:00、 16:30—18:30 内, 周一限行数字尾号 1 和9, 周二限行数字尾号2和8,周三限行数字尾号3和7,周四限行数字尾号4和6,周五限行数字尾号5和0, 外地车牌全部限行。 现有某个路口一周的车辆通行信息, 部分信息如下表所示。 请编写程序, 输出违章车辆的车牌号码和车主姓名。 

车牌号码 车主姓名 日期 星期
城B.2D6AF 何一 3月15日 1
城B.3B09D 王立 3月15日 1
城B.2D3A2 杨子 3月17日 3
城B.36A87 杨子 3月18日 4
城B.1F0AB 李三 3月19日 5
城B.3E6B8 邵东 3月20日 6

输入格式:

一个整数n,表示有n条车辆能行的记录。

每行一条通行记录,包括车版号码、车主姓名、日期、星期。

输出格式:

输出若干行违章的记录(按输入的记录从上往下依次输出)。

样例输入:

6
cityB.2D6AF heyi 3.15 1
cityB.3B09D wangli 3.15 1
cityB.2D3A2 yangzi 3.17 3
cityC.36A87 chenshun 3.18 4
cityE.1F0AB lisan 3.19 5
cityB.3E6B8 shaodong 3.20 6

样例输出:

license number owner's name
cityB.3B09D wangli
cityC.36A87 chenshun
cityE.1F0AB lisan

时间限制: 1000ms
空间限制: 256MB

代码如下:

#include<bits/stdc++.h>
using namespace std;
struct che{
	char a[200];
	char b[200];
	double c;
	int d;
};
int main(){
	int n;
	char s;
	cin>>n;
	che x[1001];
	for(int i=0;i<n;i++){
		cin>>x[i].a>>x[i].b>>x[i].c>>x[i].d;
	}
	cout<<"license number owner's name"<<endl;
	for(int i=0;i<n;i++){
		if(x[i].a[4]!='B'){
			if(x[i].d<6){
				cout<<x[i].a<<" "<<x[i].b<<endl;
			}
		}else{
			for(int j=10;j>=0;j--){
				if(x[i].a[j]>='0'&&x[i].a[j]<='9'){
					s=x[i].a[j];
					break;
				}

			}
			if(x[i].d==1){
				if(s=='1'||s=='9'){
					cout<<x[i].a<<" "<<x[i].b<<endl;
				}
			}else if(x[i].d==2){
				if(s=='2'||s=='8'){
					cout<<x[i].a<<" "<<x[i].b<<endl;
				}
			}else if(x[i].d==3){
				if(s=='3'||s=='7'){
					cout<<x[i].a<<" "<<x[i].b<<endl;
				}
			}else if(x[i].d==4){
				if(s=='4'||s=='6'){
					cout<<x[i].a<<" "<<x[i].b<<endl;
				}
			}else if(x[i].d==5){
				if(s=='0'||s=='5'){
					cout<<x[i].a<<" "<<x[i].b<<endl;
				}
			}
		}
	}
	return 0;
} 

网站公告

今日签到

点亮在社区的每一天
去签到