据说看车牌可以知道车辆归属地点,已知黑龙江省车牌归属地的基本规则是:
黑A: 哈尔滨
黑B: 齐齐哈尔
黑C: 牡丹江
黑D: 佳木斯
黑E: 大庆
黑F: 伊春
黑G: 鸡西
黑H: 鹤岗
黑J: 双鸭山
黑K: 七台河
黑L: 松花江地区
黑M: 绥化市
黑N: 黑河市
黑P: 大兴安岭地区
黑R: 农恳系统
看到车牌,你能准确说出它的归属地吗?
### 输入格式:
一个车牌号,例如:黑A36Q61,测试数据保证所有车牌都是黑字开头。由于不同系统对汉字处理有不同机制,所以测试数据中的汉字黑用两个“-“代替。
### 输出格式:
输出车牌所属地区的拼音全拼,首字母大写。如果不能识别所属地区,输出:Noname。
输出算式结果。
### 输入样例:
```in
--H54250
Hegang
--P54250
Daxinganlingdiqu
--RJ5942
Nongkenxitong
--X12345
Noname
#include<stdio.h>
int main()
{
char a[15][100]={
"Haerbin",
"Qiqihaer",
"Mudanjiang",
"Jiamusi",
"Daqing",
"Yichun",
"Jixi",
"Hegang",
"Shuangyashan",
"Qitaihe",
"Songhuajiangdiqu",
"Suihuashi",
"Heiheshi",
"Daxinganlingdiqu",
"Nongkenxitong",
}
char c;
int i;
scanf("--%c",&c);
i=c-'a';
if(i>=0 && i<=14)
{
printf("%s",a[i]);
}
else
{
pringf("Noname");
}
}
可以用map映射
走个Switch
#include <stdio.h>
#include <string.h>
// 车牌归属地
struct Plate {
char city[10];
char code[2];
};
// 车牌归属地列表
struct Plate plates[] = {
{"Haerbin", "A"},
{"Qiqihaer", "B"},
{"Mudanjiang", "C"},
{"Jiamusi", "D"},
{"Daqing", "E"},
{"Yichun", "F"},
{"Jixi", "G"},
{"Hegang", "H"},
{"Shuangyashan", "J"},
{"Qitaihe", "K"},
{"Songhuajiang", "L"},
{"Suihua", "M"},
{"Heihe", "N"},
{"Daxinganling", "P"},
{"Nongken", "R"},
};
int main()
{
char plate[10];
scanf("%s", plate);
// 取出车牌最后一个字符(即车牌归属地编码)
char code = plate[strlen(plate) - 1];
// 遍历车牌归属地列表,找到匹配的归属地
for (int i = 0; i < sizeof(plates) / sizeof(plates[0]); i++) {
if (strcmp(plates[i].code, &code) == 0) {
printf("%s\n", plates[i].city);
return 0;
}
}
// 如果没有匹配的归属地,输出 Noname
printf("Noname\n");
return 0;
}
#include <stdio.h>
#include <string.h>
// 车牌归属地
struct Plate {
char city[10];
char code[2];
};
// 车牌归属地列表
struct Plate plates[] = {
{"Haerbin", "A"},
{"Qiqihaer", "B"},
{"Mudanjiang", "C"},
{"Jiamusi", "D"},
{"Daqing", "E"},
{"Yichun", "F"},
{"Jixi", "G"},
{"Hegang", "H"},
{"Shuangyashan", "J"},
{"Qitaihe", "K"},
{"Songhuajiang", "L"},
{"Suihua", "M"},
{"Heihe", "N"},
{"Daxinganling", "P"},
{"Nongken", "R"},
};
int main()
{
char plate[10];
scanf("%s", plate);
// 取出车牌最后一个字符(即车牌归属地编码)
char code = plate[strlen(plate) - 1];
// 遍历车牌归属地列表,找到匹配的归属地
for (int i = 0; i < sizeof(plates) / sizeof(plates[0]); i++) {
if (strcmp(plates[i].code, &code) == 0) {
printf("%s\n", plates[i].city);
return 0;
}
}
// 如果没有匹配的归属地,输出 Noname
printf("Noname\n");
return 0;
}