c语言

c语言如何建立对照表

小亿
113
2023-10-27 20:26:49
栏目: 编程语言

在C语言中,可以使用数组或者结构体来建立对照表。

  1. 使用数组: 可以使用一个二维数组来建立对照表。其中,第一维表示需要对照的元素的索引,第二维表示对应的值。例如,建立一个字符到整数的对照表,可以使用如下代码:
#include <stdio.h>

int main() {
    char chars[] = {'a', 'b', 'c', 'd', 'e'};
    int nums[] = {1, 2, 3, 4, 5};
    int length = sizeof(chars) / sizeof(chars[0]);

    char input = 'c';
    int output;

    for (int i = 0; i < length; i++) {
        if (chars[i] == input) {
            output = nums[i];
            break;
        }
    }

    printf("%d\n", output);  // 输出3

    return 0;
}
  1. 使用结构体: 可以使用一个结构体来存储需要对照的元素和对应的值。例如,建立一个字符串到颜色的对照表,可以使用如下代码:
#include <stdio.h>
#include <string.h>

typedef struct {
    char* str;
    char* color;
} Mapping;

int main() {
    Mapping mappings[] = {
        {"apple", "red"},
        {"banana", "yellow"},
        {"orange", "orange"}
    };
    int length = sizeof(mappings) / sizeof(mappings[0]);

    char* input = "banana";
    char* output;

    for (int i = 0; i < length; i++) {
        if (strcmp(mappings[i].str, input) == 0) {
            output = mappings[i].color;
            break;
        }
    }

    printf("%s\n", output);  // 输出yellow

    return 0;
}

通过以上两种方式,就可以建立C语言中的对照表。使用数组可以更方便地通过索引访问对应的值,而使用结构体可以更方便地通过关键字进行查找。具体使用哪种方式,可以根据具体的需求来选择。

0
看了该问题的人还看了