XDOJ-流程控制-车辆限行

试题名称    车牌限行
时间限制:    1 秒
内存限制:    256KB

问题描述    问题描述
受雾霾天气影响,某市决定当雾霾指数超过设定值时对车辆进行限行,假设车牌号全为数字,且长度不超过6位,限行规则如下:
(1)限行时间段只包括周一至周五,周六周日不限行;
(2)如果雾霾指数低于200,不限行;
(3)如果雾霾指数大于等于200且低于400,每天限行两个尾号的汽车,周一限行1和6,周二限行2和7,周三限行3和8,周四限行4和9,周五限行5和0;
(4)如果雾霾指数大于等于400,每天限行五个尾号的汽车,周一、周三和周五限行1,3,5,7,9,周二和周四限行0,2,4,6,8。

现在给出星期几、雾霾指数和车牌号,判断该车牌号是否限行。

输入说明
输入分为三个整数,第一个整数表示星期几(1~7,1表示周一,2表示周二,依次类推,7表示周日),
第二个整数表示雾霾指数(0~600),第三个整数表示车牌号,整数之间用空格分隔。

输出说明
输出为两个部分,第一部分为车牌最后一位数字,第二部分为限行情况,限行输出yes,不限行输出no。
0
输入样例
输入样例1
4 230 80801
输入样例2
3 300 67008

输出样例
输出样例1
1 no
输出样例2
8 yes

C语言源码:

#include<stdio.h>
int main(){
	int day,mai,ph,wh;
	scanf("%d %d %d",&day,&mai,&ph);
	wh = ph%10;	
	if(mai<200||day==6||day==7){
		printf("%d no",wh);}	
	else if(mai>=200&&mai<400){
	switch(day){
		case 1:switch(wh){
				case 1:case 6:printf("%d yes",wh);break;
				default:printf("%d no",wh);}break; 
		case 2:switch(wh){
				case 2:case 7:printf("%d yes",wh);break;
				default:printf("%d no",wh);}break; 
		case 3:switch(wh){
				case 3:case 8:printf("%d yes",wh);break;
				default:printf("%d no",wh);}break; 
		case 4:switch(wh){
				case 4:case 6:printf("%d yes",wh);break;
				default:printf("%d no",wh);}break; 
		case 5:switch(wh){
				case 5:case 0:printf("%d yes",wh);break;
				default:printf("%d no",wh);}break;}}
	else{
	switch(day){
		case 1:case 3:case 5:
			switch(wh){
				case 1:case 3:case 5:case 7:case 9:printf("%d yes",wh);break;
				default:printf("%d no",wh);}break;
		case 2:case 4:
			switch(wh){
				case 0:case 2:case 4:case 6:case 8:printf("%d yes",wh);break;
				default:printf("%d no",wh);}break;}}
	return 0;
} 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值