编写C语言程序汽车的车牌号有7个字符为首的字符限定为";京:
发布网友
发布时间:2024-09-11 20:03
我来回答
共2个回答
热心网友
时间:2024-10-21 13:41
/*
京A123C5 : 后五位有非规定字符!
津H88659 : 非归属地车牌!
京B1234 : 车牌号码长度错误!
京AA12343 : 车牌号码长度错误!
京A88880 : OK!
京C8865C : 后五位有非规定字符!
Press any key to continue
*/
#include <iostream>
#include <cstring>
using namespace std;
#define MAXLEN 8
int CheckPlateNumber(char platenumber[]) {
int i;
char belonging[5];
if(strlen(platenumber) != 8) return 1; // 编码长度错误
belonging[0] = platenumber[0];
belonging[1] = platenumber[1];
belonging[2] = '\0';
if(strcmp(belonging,"京")) return 2; // 车牌所属地错误
if(platenumber[2] < 'A' || platenumber[2] > 'Z') return 3; // 首号错误
for(i = 3; i < MAXLEN; ++i)
if(platenumber[i] < '0' || platenumber[i] > '9') return 4; // 其他错误
return 0;
}
int main() {
char s[][MAXLEN + 2] = {"京A123C5","津H88659","京B1234","京AA12343","京A88880","京C8865C"};
for(int i = 0; i < 6; ++i) {
cout << s[i] << " : ";
switch(CheckPlateNumber(s[i])) {
case 0 : cout << "OK!\n"; break;
case 1 : cout << "车牌号码长度错误!\n"; break;
case 2 : cout << "非归属地车牌!\n"; break;
case 3 : cout << "首号错误!\n"; break;
case 4 : cout << "后五位有非规定字符!\n"; break;
default: cout << "其他错误!\n"; break;
}
}
return 0;
}
热心网友
时间:2024-10-21 13:41
#include<stdio.h>
int check(char arr[],int n) {
int flag=1;
char carr[7];
carr[0]='京' ;
if(arr[0]!=carr[0])//首个不符合时,返回0;
return 0;
else{
for(i=0;i<7;i++){
if((int)arr[1]<65&&(int)arr[1]>90)//不符合大写字母时,返回0
return 0;
if(i>=2&&i<=7&&((int)arr[i]<47&&(int)arr[i]>57)) //3到7不符合数字时,返回0
}
return falg;//符合全部要求时,返回1
}
int main(){
char arr[7];
int i;
for(i=0;i<7;i++){
printf("\nInput no %d word: ",i+1);
scanf("%c",arr[i]);
}
if(check(arr,7))
printf("\nThat is real car_card ";
else
printf("\nThat is false car_crad";
}