2018年C语言考试试题
Problem M: 车牌限行
Description
某市因交通拥堵,自即日起实行车牌限行。规定,车牌尾号为“1”和“6”的星期一限行,尾号为“2”和“7”的星期二限行,尾号为“3”和“8”的星期三限行,尾号为“4”和“9”的星期四限行,尾号为“5”和“0”的星期五限行;周六周日不限行。
车牌有5位,每位可以是数字“0”~“9”或字母“A”~“Z”中的任一符号,尾号定义为车牌中最后一个数字,若车牌中没有数字,则尾号为“0”;
Input
输入为多行,至EOF结束。每行为一个车牌。
Output
输出每行对应输入的车牌。输出该车牌星期几可以通行的。用数字1~7表示星期一~星期日,数字之间用一个空格分开。
Sample Input
365AB
88888
17191
YY520
13579
Sample Output
1 2 3 4 6 7
1 2 4 5 6 7
2 3 4 5 6 7
1 2 3 4 6 7
1 2 3 5 6 7
思路正常,它让你干啥你就干啥就行。
ans:
#include<stdio.h>
#include<string.h>
int main()
{
char s[6];
while(scanf("%s",s)!=EOF){
int ans=0;
for(int i=strlen(s)-1;i>=0;i--){
if(s[i]>='0'&&s[i]<='9'){
ans=s[i]-'0';
break;
}
}
if(ans==1||ans==6){
printf("2 3 4 5 6 7\n");
}else if(ans==2||ans==7){
printf("1 3 4 5 6 7\n");
}else if(ans==3||ans==8){
printf("1 2 4 5 6 7\n");
}else if(ans==4||ans==9){
printf("1 2 3 5 6 7\n");
}else if(ans==5||ans==0){
printf("1 2 3 4 6 7\n");
}
}
return 0;
}