/*2009年3月9日开始,北京市交通管理局正式推出北京市机动车网上自选牌号业务,极大的方便了新购车的市民自选中意的新车牌照号的需求。
根据国家制定的机动车号牌号码标准,一辆机动车的号牌号码由七位字符组成,前两位是号牌号码发牌机关代码,后五位是具体号牌号码。
主管部门在具体操作上又出台了以下规定:
机动车所有人网上选号的号牌号码发牌机关代码为“京N”或者“京Y”。后面的五位号牌号码的最后一位必须为数字,
其余四位有且必须有两位为英文字母(但字母I和O不可用),也就是说英文字母有且只有两个,不能多也不能少。
例如:京NAB999、京NC9D99、京NE99F9、京N9GH99、京N9J9K9、京N99LM9、京YNB999、京YP9D99、京YZ99F9号码都是正确的。
你能据此编写一个程序来检测给定的号牌号码是否符合上述规定吗?
输入格式:
第一行为一个整数T(0<T<=100),代表测试用例组数,后边是T组测试用例,每个用例占一行,为含有号牌号码最后五位的字符内容(不会包含空格、回车等空白符)。
输出格式:
为T行,每行对应输入的测试用例,如果检测认为测试用例符合规定则输出“yes:”并后跟对应的号牌号码(如果号牌中字母为小写字母,请转换为大写字母输出),
如果检测认为不符合规定则输出“no.”(不含双引号本身)。注意,如果号牌中包含有非法字符(也就是不是字母也不是数字的字符),也认为不符合规定。
输入样例:
2
K00a1
aBc12
输出样例:
在这里给出相应的输出。例如:
yes:K00A1
no.*/
#include <stdio.h>
int main(){
int tests;
scanf("%d",&tests);
int i,j;
char test[6];
int chars=0;//状态
for(i=0;i<tests;i++){
getchar();
fgets(test,6,stdin);
//scanf("%c%c%c%c%c",&test[0],&test[1],&test[2],&test[3],&test[4]);
for(j=0;j<4;j++)
{
if(test[j]>='a'&&test[j]<='z')
test[j]-=('a'-'A');
if( (test[j]>='A'&&test[j]<='Z') && test[j]!='I' && test[j]!='O')
chars++;
else if( test[j]>='0' && test[j]<='9' );
else chars=999;
}
if( chars==2 && test[4]>='0' && test[4]<='9')
{
printf("yes:");
puts(test);
}
else printf("no.\n");
chars=0;
}
return 0;
}
F. 北京市机动车网上自选牌号的正误鉴别 C语言
最新推荐文章于 2023-11-29 17:09:50 发布