C语言车牌归属地问题

据说看车牌可以知道车辆归属地点,已知黑龙江省车牌归属地的基本规则是:
黑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;
}